An electronic graphic system

Abstract: An electronic graphic system for modifying image pixels includes a framestore 21 and a pipeline brush processor 22. Image pixels are read out of the framestore 21 in batches and applied to an input of the brush processor 22. Other data representing colour shape and pressure of a line drawn by a user on a touch tablet 17 by way of a stylus 18 is also input to the processor 22. As the pixels pass through the processor 22 they are modified by the other data. Batches of modified pixels are written back to the framestore 21. The reading and writing of pixels from the framestore 21 is interleaved with the reading of pixels for display as an image on a monitor 16. The system also includes an arrangement for interpolating stylus pressure to remove visible discontinuities or other changes in the drawn image resulting from significant changes in stylus pressure. An improved zoom facility enables a substantially continuously variable zoom factor to be defined thereby to avoid large changes in scale during a zooming operation. An arrangement for adjusting numerical values associated with some functions or features of the system allows the user to control the values solely by movement of the stylus over the touch tablet.

Description: The invention relates to an electronic graphic system for modification of image data. An electronic graphic system is described in our British Patent No. 2,089,625 and corresponding US Patent No. 4,514,818. This graphic system is arranged to enable the painting or drawing of an image to be simulated electronically. The system includes a touch tablet and stylus combination by which a user can select from a range of notional drawing implements and a range of colours on a menued display for use in the simulated painting or drawing. As the stylus is moved over the touch tablet, circuitry within the stylus/touch tablet generates position signals representing the position of the stylus on the tablet. The selected implement will cover a patch of picture points in the image being produced, and as position signals are produced by the stylus/touch tablet new pixels are derived for every picture point in the patch covered by the implement. New pixels are derived by a processing circuit in response to the distribution of the patch of the selected implement, the selected colour, and to the old value of the pixel. The stylus is made to be pressure sensitive and to generate values representative of the pressure and this value is also used by the processing circuit to derive new pixels. Pixels are stored in a suitable store, such as a framestore, and as the user, who it is envisaged will normally be an artist lacking experience in the use of computer based systems, manipulates the stylus on the touch tablet a patch of pixels is read from the store and modified by the processor to form a new patch of pixels which is written back to the store. This process is repeated continuously while the stylus is being manipulated on the tablet. The store is also read repeatedly and the pixels applied to a colour monitor to enable the creation of the picture to be observed substantially in real time. It is important that the user should be able to view his creation in real time, i.e. with no discernible lag between movement of the stylus and the resulting image on the monitor. This is achieved in our original "PAINTBOX" (Registered Trade Mark) system by processing all pixel patches generated within a monitor frame period and writing the processed patches back to the store within a frame period, at least when the time is averaged over a few frame periods. However, in some circumstances, such as for example a signature which is naturally drawn quickly, operations in the system may lag behind operations of the user which can be distracting to the user. The present invention aims to provide an improved electronic graphic system. In our abovementioned "PAINTBOX" system options, features and modes of operation are selected from a menu displayed on the monitor. The system is arranged so that the user can cause the menu to be displayed by rapidly moving the stylus over the edge of one or other side of the touch tablet's working area. Once the menu is being displayed, the user can select from the available options by moving the cursor over the desired option. Some features are simply selected either as ON or OFF by pressing firmly down with the stylus while the cursor is over the desired feature, the system responding by changing the feature between ON and OFF as appropriate. Other features are selected as a numerical value from within a predefined range of values, e.g. 0% to 100%, and in hitherto known systems these features have been selected by first moving the cursor over the desired feature and pressing firmly down with the stylus and then inputting the desired value either through a separate keyboard or an equivalent to a keyboard displayed on the menu. The need to use a separate means to input the numerical value tends to slow down use of the system and thus hinder the user. The present invention provides an electronic graphic system for the modification of image data stored in a store and representing a multiplicity of picture elements which together form an image, the system comprising: a stylus/touch tablet device arranged to generate co-ordinate data when the stylus is brought into the proximity of the touch tablet and also to generate pressure data when pressure is applied via the stylus to the touch tablet; a display screen for displaying on one portion thereof a menu containing representations of geometric shapes selectable to enable image data representing geometric shapes to be created, and for displaying at least part of the image represented by the stored image data; a processor responsive to the coordinate data from the stylus/touch tablet device for causing a cursor to be displayed at a position on the display screen determined from the coordinate data, responsive to the pressure data for selecting a geometric shape when the cursor is placed over a representation in the menu, and operable to generate image data representing the selected geometric shape and to apply the generated image data to the stored image data, the processor further being responsive to coordinate and pressure data first being generated by the stylus/touch tablet device after a geometric shape has been selected as identifying a start point for the geometric shape in the image, and thereafter being responsive to an interruption in the generation of coordinate data as indicating that a different start point is instead to be identified. The above and further features of the invention are set forth with particularity in the appended claims and together with advantages thereof will become clearer from consideration of the following detailed description of an exemplary embodiment of the invention given with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a video graphic system. Figure 2 is a schematic diagram of a processing circuit used in the system of Figure 1. Figure 3 is a timing diagram showing the timing of operations performed by the processing circuit of Figure 2. Figure 4 is a schematic diagram of the system configures to enable menued features to be varied. DETAILED DESCRIPTION OF AN EMBODIMENT OF THE INVENTION Referring first to Figure 1 of the accompanying drawings a video graphic system 10 is shown having a processing and storage unit 15, a colour (television type) display monitor 16, a touch tablet 17 and a stylus 18. As will become clearer from the description that follows, the processing unit 15 includes a disc drive for storing image data in programs, dynamic random access memory devices (DRAMs) for storing image data, a housekeeping processor, a brush processor, filters and special effects processors. A memory device in unit 15 stores digitised pixel data for a full video frame, which is read at full video rate to produce a video signal for the monitor 16. In addition, the data held in this store may be modified in response to manual operation of the stylus 18 over the touch tablet 17. The stylus 18 radiates energy which is detected by the touch tablet 17 allowing circuitry in the touch tablet to determine whether the stylus 18 is in proximity, that is to say when the stylus 18 is within a predefined range from the touch tablet 17. When the stylus 18 is brought into proximity a signal is generated identifying the position of the stylus to a resolution greater than that of the pixel spacing of the video image. When in proximity, a cursor (in the form of a cross) is displayed on the monitor which then follows the movements of the stylus over the touch tablet. The stylus 18 is also pressure sensitive and as it is applied to, i.e. brought into contact with, the touch tablet a pressure value is generated by circuitry within the stylus. This pressure value is supplied to circuitry within the touch tablet by radiating energy, modulated by a signal indicative of stylus pressure. A touch tablet and stylus combination capable of operating in this wireless mode is manufactured by Wacom KK of Japan. Thus, in response to modulated radiation from the stylus 18, the touch tablet 17 provides signals to unit 15 indicating (1) whether the stylus is in proximity, (2) its x and y co-ordinates within the working area of the touch tablet and (3) the manual pressure applied to the stylus by the operator; all without a physical link to the stylus. It is to be noted that in the stylus/tablet combination identified above, the stylus itself does not contain a source of energy but echoes radiation back from the tablet. In addition to showing a full video image, the monitor 16 may also display menus which are called up by swiping the stylus over the edge of the working area of the touch tablet. A number of menus are available depending on the mode of operation of the system. From one of the available menus, the operation of painting may be selected, in which movement of the stylus 18 over the touch tablet 17 simulates the effect of conventional artists implements such as pencils, paintbrushes, air-brushes and chalks. Each implement can be selected by moving the stylus over the touch tablet so that the cursor is displayed over a box in the menu identifying the required characteristic and then applying pressure to the stylus. Once painting has been selected in this way, along with brush size and brush colour, a stroke may be made by the stylus which generates a sequence of co-ordinate location and brush pressure signals. A housekeeping processor in unit 15 re-constructs the stroke from these co-ordinate values and modifies evenly spaced, but overlapping, circular stamps of pixels within the memory device (framestore) for the displayed frame. In the following description, in order to assist in the understanding of features provided in the embodiment, headings will be used to identify the start of the description of each feature. PIPELINE PROCESSING The procedure for recursive read-modify-write painting into a framestore is described in our abovementioned British Patent No. 2,089,625 and corresponding United States Patent No. 4,514,818 assigned to the present Assignee. In this procedure a new pixel value (P new) is written to each pixel location within a stamp derived from a previous pixel value (V old) a control value k determined by the form of the selected implement, and a new colour and intensity value (V new) in accordance with the following equation: P new = k.V new + (1-k)V old In areas where the stamps overlap, the pixel values (V old) will have been previously derived from this equation, resulting in a recursive modification of the stored value towards the brush colour providing inherently anti aliased lines. A similar procedure is adopted in the system 10. However, in the system 10 the control value k is related to the pressure value obtained from the wireless communication between the stylus and the touch tablet. It should be noted that even though a position signal is generated by the touch tablet when the stylus is in proximity (as discussed above), pixels are not modified until pressure is applied to the stylus, because when no pressure is applied to the stylus k=0. Operation of our classic "PAINTBOX" (Registered Trade Mark) design, is fast due to its "real-time" processing power. However, in some circumstances it is possible for the system to lag behind the operations of the artist. Such a lag can occur for example when the artist has, say, selected an implement covering a large area of pixels and moves the stylus quickly across the touch tablet. In these circumstances the number of pixels to be processed in a given period of time may be greater than that which hitherto known systems have been capable of processing in that time. In order to improve the processing power of the system 10 and thereby to reduce detectable lag between movement of the stylus by the artist and the result of that movement appearing in the displayed image, the system 10 includes a pipeline processing arrangement. As will become clear from the following description, the pipeline processing arrangement improves processing power by accessing pixels, and performing a read-modify-write process, in batches of eight pixels to the image data in memory in response to manipulations of the stylus by the user. The processing is pipelined by way of a buffering arrangement so that a first batch may be processed while a second is undergoing memory transfer. Turning now to Figure 2 of the accompanying drawings, the processing unit 15 of Figure 1 includes a processing circuit, generally designated as 10, comprising a framestore 21, which may for example be a Dynamic RAM (DRAM) device, and a brush processor 22. A batch of image pixel data stored in the framestore 21 is read out into a buffer 23 and, as will be described in greater detail hereinafter, individual pixels in the batch are selected, under the control of a read counter 24, by a selector 25 for input to the brush processor 22. The system 10 also includes a colour store 11 for storing data representing a user selected colour which colour data is delivered to the processor 22 along a line "COLOUR" in parallel with the pixel data input from the read address selector 25. When the stylus 18 is in the proximity of the touch tablet 17, the touch tablet generates co-ordinate data XY representing the instantaneous position of the stylus on the touch tablet. The co-ordinate data XY is input to a patch address generator 12 which converts the co-ordinate data XY into a patch of addresses which are used to address a brush shape store 13 and a stylus pressure store 14. The brush shape store 13 holds data defining a three dimensional shape representing a selected drawing implement and the stylus pressure store 14 holds instantaneous stylus pressure values from the touch tablet and stylus. Data from the brush shape store 13 and the stylus pressure store 14 are input to the processor 22 along the lines SHAPE and PRESSURE respectively. The pixels input to the processor 22 from the read address selector 25 are each modified by the brush processor 22 and are output therefrom to be written back to the framestore 21 via a write address selector 28, under the control of a write counter 26, and a buffer 27. The write address selector 28 and the buffer 27 perform the reverse function to that of the buffer 23 and read address selector 25 in that the write address selector 28 receives modified pixels from the brush processor 22 and writes those pixels to the buffer 27 which delivers batches of pixels to the framestore 21. It will be appreciated that the processing circuit 10 includes control and timing circuitry for supervising the transfer of pixels around the circuit. For the sake of simplicity the control and timing circuitry is not shown in Figure 2. Clocking signals are used to control the operation of the processing circuit 10 and there follows a description of the operation of the processing circuit 10 in which pixel data transfers occur during particular clocking periods. It is to be appreciated that these clocking periods are defined by the above mentioned control and timing circuitry. Turning now to Figure 3 of the accompanying drawings, there is shown a timing diagram of the operation of the processing circuit 10. The period between each vertical line (a,b,c...k,l) in the timing diagram represents a group of four clock pulses of 74nS (13.5 Mhz). Each period represents a time interval during which four pixels are required in order to generate an output for display on the monitor 16 at video rate. In order to prevent the monitor 16 from continuously requiring access to the framestore 21, and thereby preventing access to the framestore 21 by the brush processor 22 during alternative groups of four clock periods, e.g. 31-1 to 31-4, eight pixels are read from the framestore 21 to the monitor 16 via buffer 16a (this operation being identified by the word "VIDEO" on the line labelled "FRAMESTORE" in Figure 3). This approach leaves alternate groups of four clock periods available for data transfer between the framestore 21 and the brush processor 22. In this way, reading of the contents of the framestore 21 by the monitor 16 and the brush processor 22 are interleaved between alternate periods. Eleven periods (31 to 41) of four clock cycles are identified in Figure 3. The operation of the processing circuit is as follows. During the first period 31 eight pixels of data are read in parallel from framestore 21 and supplied to the addressable buffer 23. This operation being represented by the legend READ 1. During period 32, after one clock period 32-1, the read counter 24 supplies individual addresses to the read address selector 25 which selects and supplies individual pixels to the brush processor 22 at the clock rate. The read counter 24 and read address selector 25 are arranged such that once a batch of eight pixels has been read to the buffer 23 the pixels are read out individually in order and are delivered to the brush processor 22 by the read address selector 25. The read counter 24 counts cyclically through a reading order to control the read address selector 25. The brush processor 22 is configured as a pipeline of eight stages. In order to ensure that the various data input to the brush processor 22 arrive at the right place within the processor at the right time, each data transmission path within the processor is arranged to include eight stages of delay between the input to the processor and the output. The delay stages are implemented by either a single delay period latch (L1-L8) or a two delay period multiplier (M1, M2). Pixels are input serially from the buffer 23 via the read address selector 25 to the brush processor 22. As each pixel is input at latch L1 the pixels previously inputted thereat move through the pipeline of latches such that the pixel previously in latch L1 is moved to latch L2, and so on. At the same time the data representing the user selected colour and shape, together with the data representing the pressure applied to the stylus, are input to the brush processor in parallel along the lines, COLOUR, SHAPE and PRESSURE respectively. As a pixel is clocked through the brush processor it is subtractively combined with the corresponding colour data by subtractor 50 and the shape data and pressure data are multiplied together by multiplier 51. The latches in the processor are arranged such that the sum B-A, where B = colour data and A = input pixel data, and the product K, where K = shape x pressure, are both delivered to multiplier 52 during the fifth and sixth clock periods and the product from multiplier 52 is delivered for addition to the original pixel data A. The resulting sum, represented as A + Q in Figure 3 where A + Q = (1-K) A + KB, is output as a new pixel from the processor 22 via latch L8 during the eight clock period. Thus, pixel data input to the processor is modified by the processor 22 and is output therefrom eight clock periods later for delivery back to the framestore 21. It should be noted that the new pixel is therefore derived using the same form of algorithm as that discussed hereinabove, i.e. A + Q = KB + (1-K)A is of the same form as the above discussed equation P new = K. V new + (1-K) V old. Referring to Figure 3, during period 32, eight pixel values are read as VIDEO from the framestore 21 and buffered into buffer 16a to provide a continuous video signal for the monitor 16. Period 33 is used for writing previously processed data output from the buffer 27 back into the framestore 21. During period 33 read counter 24 continues to clock pixels to the brush processor 22, this operation being represented by the legend INPUT PIXEL SET 1 in Figure 3. In period 34, a video access is again required and data is again output as VIDEO to the buffer 16a for display on the monitor 16. After the first clock cycle 34-1 of this period 34, all pixels have been read from buffer 23 in the INPUT PIXEL SET 1 operation and the first output pixel value thus becomes available at latch L8. Pixel values are output from latch L8 and are written to a buffer 27 via the write address selector 28 under the control of the write counter 26. The write counter 26 operates in a similar manner to the read counter 24 in that it counts cyclically through a write address sequence for the buffer 27. The operation of reading pixels to the write counter 26 is represented by the legend OUTPUT PIXEL SET 1 in Figure 3, and this operation occurs during the period between the end of clock period 34-2 and the end of clock period 36-2. At the start of period 35, two output values have been clocked into buffer 27 during the OUTPUT PIXEL SET 1 operation and therefore latches L1 and L2 are empty. A video access is not required during period 35, the video for this period having been read to buffer 16 during the previous period, and therefore a further eight pixels are read from framestore 21 and supplied to buffer 23, this operation being identified by the legend READ 2 in Figure 3. During period 36, a video access is made and, at the end of the first clock cycle 36-1 pixels start to be read from buffer 23 and are supplied to the brush processor 22, this operation being represented by the legend INPUT PIXEL SET 2. By the end of clock cycle 36-2 all eight outputs from the OUTPUT SET 1 operation have been clocked to buffer 27. In period 37, the pixels of INPUT PIXEL SET 2 continue to be clocked into and through the brush processor 22 while the eight output pixels of OUTPUT PIXEL SET 1 are written to the framestore 21 (WRITE 1). During period 38, a video access is made and the last pixel of INPUT PIXEL SET 2 from the second read (READ 2) is supplied to the brush processor and the first two outputs of OUTPUT PIXEL SET 2 are supplied to buffer 27. Period 39 is equivalent to period 31, with READ 3 being processed in the same way as READ 1, and the whole process is thus repeated for further batches at pixels from the framestore 21. The system 10 thus provides an arrangement by which the reading of pixel data for modification is interleaved with the reading of pixel data for display and in this way the effective speed of operation of the system is increased. PEN OVER PICTURE TO CONTROL BOX VALUES As previously mentioned herein, modes of operation can be selected from a menu called up by the user by swiping the stylus over the edge of the working area, that is to say moving the stylus quickly forward and over the edge of the touch tablet. Some boxes of the menu allow features or functions of the system to be selected in an ON-OFF fashion but others have numerical values placed therein. In our previous systems, these values have been defined by the artist by way of either a physical keyboard or its equivalent defined in the menu area. This has tended to slow down and hinder the natural movements of the artist operating the system. The present system aims to overcome this problem by allowing the artist to control menu quantities by movement of the stylus over the display, and preferably over the image area, i.e. outside the menu area, during a menu feature selecting operation. To achieve this, as shown in Figure 4, a housekeeping processor 70 compares successive co-ordinate values and converts these values to produce numerical increments. First of all the artist selects the required menu, for example menu 71 which is displayed on a portion of the screen of the monitor 16. The artist then moves the stylus 18 over the touch tablet 17 until a cursor 72 lies above a box 73 in the menu 71. The box 73 represents a desired feature or function to be altered and displays a numerical value (not shown) representing the present value of that function. With the cursor 72 lying above the selected box 73 the artist then places the stylus into pressure, that is to say the artist applies pressure to the stylus. The housekeeping processor 70 responds to this by selecting the desired function or feature from a store 74 and informs the operator that the box 73 has been selected by changing colour, say from pink to green. The processor 70 is now ready to respond to movements of the stylus. The artist can move the cursor 72, by way of the stylus and touch tablet 17, 18, out of the menu 71 onto an image area 75 of the display and further movement of the cursor 72 on the display screen is interpreted by the processor 70 as a command to increase or decrease the value of the selected feature. For example, movement to the left L may be interpreted as a command to decrease the value and movement to the right R as a command to increase the value. Thus, by moving the stylus 18 so that the cursor 72 is outside the menu area, and by putting the stylus into pressure and moving it, the numerical value is decreased with movement to the left and increased with movement to the right. Once the desired value has been obtained, the cursor 72 is moved into the menu area 71 again and placed into pressure with the cursor above the selected box. The processor 70 interprets this action as a command to stop adjustment of the selected feature and to store the new value in the store 74. The feature is then deselected by the processor 70 which indicates this by changing the colour of the selected box back to its original colour. Further features may then be selected by the artist, if so required, or the menu removed from the display, thereby returning the system to a drawing mode by swiping the stylus over the edge of the working area. It should be noted, that when a menu has been called, normal painting in the picture area is inhibited so adjusting parameters in the way described above does not cause unwanted lines to be placed into the picture. This control feature is the subject of our European Patent Application No. 95109368.1 commonly divided from European Patent Application No. 90304116.8. OUT OF PROXIMITY TO CANCEL Other features, provided from a displayed menu, allow geometric shapes to be drawn by defining a start point and an end point. It is not uncommon for mistakes to be made in defining the start point, which do not become apparent until the operator starts to define the end point and, in previous systems, the system could only be re-set, to the point of requiring a new start point, by swiping off. However, in the present embodiment, because the stylus and touch tablet produce different signals when the stylus is (1) applied to the touch tablet (co-ordinate data and pressure value data), (2) in proximity (co-ordinate data only) and (3) out of proximity (no data) the system is arranged to be re-set, when working in say a geometric shape mode, by moving the stylus out or proximity. Having thus described the present invention by reference to a preferred embodiment it is to be well understood that the embodiment in question is exemplary only.

Claims: An electronic graphic system for the modification of image data stored in a store and representing a multiplicity of picture elements which together form an image, the system comprising: a stylus/touch tablet device (17, 18) arranged to generate co-ordinate data when the stylus (18) is brought into the proximity of the touch tablet (17) and also to generate pressure data when pressure is applied via the stylus to the touch tablet; a display screen (16) for displaying on one portion thereof a menu (71) containing representations of geometric shapes selectable to enable image data representing geometric shapes to be created, and for displaying at least part of the image represented by the stored image data; a processor (70) responsive to the coordinate data from the stylus/touch tablet device for causing a cursor (72) to be displayed at a position on the display screen determined from the coordinate data, responsive to the pressure data for selecting a geometric shape when the cursor is placed over a representation in the menu, and operable to generate image data representing the selected geometric shape and to apply the generated image data to the stored image data, the processor further being responsive to coordinate and pressure data first being generated by the stylus/touch tablet device (17, 18) after a geometric shape has been selected as identifying a start point for the geometric shape in the image, and thereafter being responsive to an interruption in the generation of coordinate data as indicating that a different start point is instead to be identified. An electronic graphic system as claimed in claim 1, wherein the processor (70) is further responsive to the generation of pressure data following an interruption in the generation of pressure data and no interruption in the generation of coordinate data by the stylus/touch tablet device as identifying an end point for the geometric shape in the image.

Inventors: SEARBY ANTHONY DAVID, SEARBY, ANTHONY DAVID
Applicants: QUANTEL LTD, QUANTEL LIMITED
Application year: 1990
Main classification: G06T11
IPC codes: G06F3, G06T1, G06T11