DYNAMIC PRINTING ENHANCEMENT

Abstract: A method and an apparatus for providing half tone images of enhanced quality are described. The method is a dynamic screening process in which image data stored in memory is divided into a plurality of tasselations. The form and individual image components are determined by local parameters of the image represented by the image data. Each tasselation is processed to provide print information enabling said enhanced image to be printed. The apparatus is a grey scale generator circuit (100) which may be used for example with a known laser printer to provide the enhanced image. The circuit (100) comprises a dynamic random access memory (102) and associated controlling circuitry (103, 103a) and a processor unit (101). Communication between the processor (101) and memory (102) is supervised by a timing circuit (101a). Image data in the memory (102) is processed by the processor (101) and converted to a modulating current by a modulator circuit (106). The modulating current is used directly to drive the laser or lasers of the laser printer.

Description: DYNAMIC PRINTING ENHANCEMENT The invention relates to hardware and software • for enhancing the printing capabilities of printing apparatus. More specifically the invention relates to a computational process that transforms and modifies a digitized image to improve its visible appearance when printed or displayed on a monitor, and to an electronic device that modifies a standard laser printer engine to enhance the quality of the printed output and increase the functionality of the printer. A typical standard printer operates by generating successive lines of regularly placed dots across a page. Each dot has the same size, shape and degree of blackness or colour. The dots can be either "on" or "off", that is, present or absent. Meaningful text and/or other information is made by specifying which dots are "on" and which are "off". Grey scale images, which usually represent some kind of picture, are generated by selecting groups of dots with each group of dots corresponding to a "pixel" or unit of the image. Within each group, the individual dots may be "on" or "off", and the proportion of dots "on" determines the grey scale value of the group. The more grey scale values there are to be generated, the larger the group of dots which constitute a pixel must be. With standard printing techniques , the internal structure of each group is fixed for a given grey scale. The groups together form a regular grid or "screen" across the page. On close examination, the regularity of this screen can be clearly seen in the resulting picture. Computer monitors also display images and text by selectively lighting dots on the monitor screen. In many cases, the individual dots may have several intermediate grey (or colour) values, instead of only "on" and "off", and images with that number of grey values can be displayed by using these scales. The quality of the printed or displayed output depends on how noticeable the individual dots and dot patterns are. For images requiring many grey values, the dot patterns must be quite large, and this degrades the quality of the picture. Thus, grey scale images may be represented either by groups of dots which are arranged to produce individual grey scale pixels or by a single dot of variable intensity. Devices exist which can modify some printers in such a way as to increase the number of dots in each printed line in the horizontal and/or vertical directions. This results in the production of an image of increased resolution which improves the quality of the printed output by making the individual dot patterns smaller and therefore less noticeable to the eye. However, known devices have only enjoyed limited success because of the problems associated with the way in which the internal structure of dot groups has been addressed. Hitherto the internal structure has been fixed and this has given rise to problems with the way in which a picture is perceived by an observer; mathematically satisfactory printed images may nevertheless seem peculiar to the observer where large areas of even greyness result in areas which appear to be, say, striped or.spotted when printed. An aspect of the invention resides in the realisation that by way of using local and hierarchical techniques in combination with sealing techniques, a visually acceptable image can be printed. According to one aspect of the invention, therefore, there is provided a computational process that generates a bit-mapped image suitable for printing or displaying on a monitor where the standard bit-mapped patterns have been modified in a constructive way to break up the regularity of the image. The computational process advantageously provides bit-mapped patterns which have been modified by the use of non-rectilinear tessellation patterns; the bit¬ mapped patterns can be modified by the use of hierarchical filtering to increase the grey scale resolution o± the image without reducing the spatial resolution; the bit-mapped patterns can be modified by the use of adaptive algorithms where the shape and internal structure of the tessellation patterns is adapted to the picture content and printer capability. According to another aspect of the invention there is provided an electronic device, constituting a non-destructive modification to a laser printer DC controller card, enabling the beam current to be modified so that the normal individuality of the dots is lost, and a new pattern of dots is created where the size, shape and greyness of the dots is a continuous variable determined by the controlling software. The device and the process may be used in conjunction or separately. Thus the present invention provides two new ways by which the quality of printed material, and " images displayed on a monitor, can be substantially improved, by reducing or eliminating visible unwanted dot patterns. The first of these ways is "Dynamic Screening", a computational process that generates a bit-mapped image suitable for printing or displaying on a monitor, where the standard bit-mapped patterns have been modified in a constructive way to break up the regularity of the "screen". In the practice of the invention dynamic screening can be achieved by combining any or all of three operations, namely: (a) the use of non-rectilinear tessellation patterns of the image pixels, (b) the use of hierarchical filtering to increase the grey scale resolution without reducing the spatial resolution, (c) the use of adaptive algorithms where the shape and internal structure of the tessellation patterns is adapted to the picture content and printer capability. In the dynamic screening process the internal structure of a group of dots representing a pixel is not fixed for a given grey scale, and the result is a half tone image of enhanced quality with no visible screening. The second way is to use a Printer Adaptor which involves making a non-destructive modification to a printer controller circuit enabling the control signals to be modified so that the normal individuality of the dots is lost, and a new pattern of dots is created where the size, shaped and colour (blackness) of the dots is a continuous variable, determined by the controlling software. The main functions of the adaptor are to: (a) interface with the printer in an appropriate way, receiving input data from .one or more computers, (b) manage memory access in order to extract data at the required timing, (c) process the data in real time by analog electronics to produce the appropriate modifications to the control " signals. The signals may be modified either by causing a variation in the amplitude of the signal, amplitude modulation, or by breaking up the signal into a sequence of shorter pulses of varying duration, ie. frequency modulation. The invention includes a dynamic screening method in which image data stored in memory is divided into a plurality of tasselations, the form and individual image components of each tasselation being determined by local parameters of the image represented by said image data, and each tasselation is processed to provide information enabling an enhanced half tone version of the image to be printed. Preferably the image data stored in memory is either binary tone or grey scale tone image data. Preferably the form of the tesselation is selected to represent approximately a local feature of the image- to be printed, thereby to enhance that feature in the printed image. Preferably the tones of each said individual image • component are selected to provide a tonal pattern in the tessellation which tonal pattern is representative of a local feature in the image. Preferably the gradient of a line portion in the image, which line portion is local to a given tasselation, is determined and the form and individual image components of the given tasselation are selected in accordance with said gradient. Preferably the tone of a portion in the image, which portion is local to a given tasselation, is determined and the tones of each image component of the tasselation are selected to define a tasselation having a tone representative of the tone in said image portion. The invention also includes a method of producing enhanced image information from an array of image information, in which method the array of image information is divided into smaller image elements comprising a plurality of individual array elements, and each image element is filtered to enhance grey scale resolution of the image information. Advantageously each smaller image element is defined by a non-rectilinear pattern of the said individual array elements. Also advantageously the form of the non- rectilinear pattern is determined for each smaller image element in accordance with local image features in the image array. Preferably at least one individual array element is common to two adjacent smaller image elements. Also preferably a heirarchy of image elements is defined to facilitate said filtering, the hierarchy being such that image elements at a first level comprise plural image elements or plural array elements from a second lower level and the overall tone of the image elements at the first level is approximated to the tone of the plural image elements or plural array elements at the second level. * Furthermore, the first level image elements can be.defined as selected plural image elements or plural array elements at the 'second level to give a first approximation of the desired tone of each of the first level image elements and the tone of unselected image elements or array elements at the second level can subsequently be used to give a final approximation of the desired tone. The invention also includes a method of enhancing grey tone images from an image acquisition source, the method comprising the steps of translating the grey tones of the acquired image into a hierarchical dot pattern, identifying features of the image local to each dot pattern of the hierarchy, and manipulating the distribution of the dots within each dot pattern in -accordance with the identified features. Furthermore, the invention also includes a method of dynamic screening in which image data from a video source are converted into a suitable multiple tone image format, the multiple tone image is processed to enhance the image, the enhanced image is converted to a bit map representation thereof and the locations individual bits in the bit map are adjusted to produce a bit map conforming to features identified in the enhanced image. Moreover, the invention also comprises an apparatus for providing print information to a printing device, the apparatus comprising a processing means for processing image information in a memory means for processing image information in a memory means, controlling means for controlling communication between the processing, means and the memory means, and modulating means cooperating with the processing means and the memory means for providing a modulated signal representative of the processed image information to the printing device for printing of the processed image. Preferably the modulated signal supplied to the printing device causes the printing device to print individual image elements of predetermined size and/or shape and/or greyness. Also preferably the apparatus further comprises interfacing means for interfacing the printing device to ne or more host computers. Advantageously the processing means and the controlling means are arranged to manage the timing of memory access such that information is extracted from the memory means for modulation when required by the printing device. Preferably the modulated signal is frequency modulated but alternatively the modulated signal can be amplitude modulated. Preferably the printing device is a laser printer and the laser or lasers thereof are driven directly by the modulated signal. Preferably the modulated signal is a current signal. Preferably the processing means comprises a microprocessor device and the memory means comprises a dynamic random access memory device controlled and released by associated controlling circuitry. The invention also includes a device for use in a non destructive modification to a laser printer, the device being arranged to modify the signal for driving the laser or lasers of the printer such that the laser will cause to be printed discrete dots of predetermined and continuously variable size and/or shape and/or tone. Moreover, the invention also includes an apparatus or method of printing an enhanced grey scale image using a binary printing device in which apparatus or method image information stored in a memory means as data relating to discrete points in the image is divided into a plurality of picture elements formed from at least two of the discrete points, each of the picture elements are processed to enhance features of the image local to each of the picture elements and the processed picture elements are supplied to the printing device for printing of the enhanced image. The invention is intended to encompass all novel features disclosed herein whether alone or in combination. In order that the invention may be well understood embodiments will be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 shows a flow diagram of a dynamic screening process; Figure 2 shows the process of Figure 1 in further detail. Figure 3 shows a square tile hierarchical tessellation; Figure 4 shows how dots in a 4-tile can be mapped onto grey scale bands corresponding to a 16-tile scale; Figure 5 shows how a processed grey tone image is converted into a bit map for printing or display; Figure 6 shows a number of examples of tessellations? Figure 7 shows an arrangement of successful tessellations; Figure 8 shows gradient biassing patterns; Figure 9 shows (a) a conventional straight line representation and (b) a grey dot representation of a similar straight line; Figure 10 shows examples of ways in which a 4- tile can be used to represent the same overall grey tone in a grey scale; Figure 11 shows parts of a preferred sequence of tiles for representing tones in a grey scale; Figure 12 shows a schematic block diagram of a grey scale generator circuit; Figures 13 to 20 show the grey scale generator circuit in greater detail; and Figures 21 and 22 show timing diagrams for the grey scale circuit. The program will be explained initially in general terms with respect to Figures 1 and 2 and will subsequently be explained in greater detail thereafter. The first stage of the process is a picture acquisition stage indicated as stage A in Figures 1 and 2. In this stage A image information generated by, for example, a video source such as a video camera or a scanning unit is input to the computer. The computer may be any general purpose computer configured to perform the function of dynamic screening. The image information will be in different formats depending upon which input device, i.e. video camera or scanner, is used. Thus the image information may have to be converted into a suitable byte-mapped format; video is digitized to grey values so it is already a byte-mapped image; simple scanners are black and white bit maps and accordingly require conversion to a byte map format before further processing can be performed. It is necessary to convert to byte-mapped formats in order to enable sophisticated image processing algorithms to be applied subsequently in order to improve the image. In stage B the image is optimised in preparation for printing. The algorithm uses a well balanced histogram and aims to reduce noise in the image whilst retaining sharp edges in the image. That is to say, images must be sharp and have the correct, psychologically acceptable histogram. The image must also be scaled properly and to this ' end known spline interpolation techniques are used. The program uses local filters, histograms and other known techniques to enhance the grey tone image. The modification of the characteristic curve of the image to produce a psychologically pleasing result is an important aspect of the invention and- will be explained in greater detail hereinafter. In stage C the image is actually converted into a bit map which will be used to drive the printer. the process can be broken down into two discrete stages: stage 3 and stage 4 as shown in Figure 2. The optimised image from stage B is first used to generate a zeroth order bit map. If the output device is an ordinary printer there is one bit plane (only "on" and "off" values) . If it is a grey scale device, such as a monitor or a Laser Printer there will be tonal values to each dot. The generation of the zeroth order bit map uses a standard algorithm for converting grey values to dot patterns, and the introduction of non-rectilinear tessellation patterns may be made at this stage. Since the ' image conversion is essentially an iterative process, a first approximation is needed and this is the purpose of the zeroth order bit map. Once the zeroth order bit map has been generated, the image can be manipulated so that image grey tones are translated to hierarchical dot patterns. Thus, in stage 4, as shown in Figure 2, individual dots are moved within each tile to emphasize local features like edges and textures. This is best done by a set of successive approximations. The redistribution of dots within each tile is a function of the properties of the surrounding tiles. That is to say, local features are analysed and the image dots are manipulated in order to conform with the local features. At the same time as local features are being emphasised, hierarchical filtering is imposed on the image. The initial grey scale values are rounded down, and the remainders are distributed over the next (higher) order tessellation, the process being repeated iteratively. If the output device is simple, that is, if the number of dots per tile is small, convergence is fast; if it is complex, it may take several tries. Once the picture has been adapted in conformance with the image features and in accordance with rules governing contrast appreciation, thereby to avoid striping effects and the like caused by large areas of similar grey tones, the manipulated image data is sent to the printer for printing. It will be appreciated that the above described process involves complex interactions between hardware and software. Before describing the hardware in detail, further explanation of the stages identified in Figures 1 and 2 will now be given with passing references to- the hardware where this seems appropriate. The picture acquisition stage A can be subdivided into two discrete steps: acquisition of the picture and conversion into a suitable byte-mapped format. Acquisition of the picture can be by way of a video signal generated either directly from a video camera or from a recording stored on e.g. magnetic tape. A video signal from one of these sources will normally have to be converted from a continuous analogue signal into a digital signal by way of a digitiser in order to present the information to the computer in a form that it can ' handle. A TV frame digitiser will therefore be required. In addition, a degree of control over the video source is necessary. Software is therefore made available to provide control over the video source and the digitiser thereby to enable the digitised frame to be frozen so that it can be transferred into the computer and simultaneously displayed, if required, on a computer monitor. Alternatively, the picture can be acquired by way of a scanning device having a resolution of typically 300 to 600 dots per inch. Information from the scanning device will be in the form of on-off signals, and again an interface from the scanner to the computer will be required to control the image transfer and then to convert the received bit map image into a byte mapped image in a format in which it can be manipulated and displayed by the computer. If a video source is used the image information received by the computer will already be in a suitable byte mapped format and the dynamic screening process can therefore proceed to the picture processing stage immediately. However, image information from a scanner source will initially be in a bit map format, i.e. an array of "on" or "off" dots, and will therefore require conversion into a byte-map format in which a dot can assume a grey tone on a grey scale. A method used to convert a bit map format into a byte-map format will now be explained with, reference primarily to Figure 3 of the accompanying drawings. In Figure 3 an image is shown represented as an array of on-off dots. The image is initially broken into an n-tile 12, where an n-tile contains n dots. In the example, the n-tile 12 is a 4-tile since it contains 4 dots. As will be discussed hereinafter, the shape of the tile is selectable, but is nevertheless limited by the requirement that the tiles can be grouped in a hierarchical structure. The zeroth level of the hierarchy is an array of n 2 -tiles, and so on. Thus, in Figure 3 the first level comprises an array of two 4-tiles x two 4-tiles 14, the second level comprises two 16-tiles x two 16-tiles 16 and so on. It will be appreciated that a single n-tile can be used to represent a grey scale pixel with n+1 levels of grey ranging from white with all dots in the tile being "off" to black with all dots in the tile being "on". Thus, the 16-tile 16 is capable of providing seventeen different grey values. However, the 16-tile is itself made up of four 4-tiles, with each 4-tile being able to represent only five grey tones. Thus, the four 4-tiles when regarded as members of the 16-tile will fail to represent all tones in the tonal range of the 16-tile but will be better able to represent the features of the image. That is, using four 4-tiles to represent a 16-tile results in a trade off between grey tone accuracy and spatial resolution. As is shown in Figure 4, zero dots in a 4-tile can be used to represent grey tones 0-2 in a 16-tile, one dot in the 4-tile can be used to represent grey tones 3-5 in the- 16-tile, and so on. In this way the tonal range of the 16-tile can be represented by the 4-tile but with reduced accuracy. This distribution is known as the characteristic curve. In practice, the 4-tile values will have to be mapped onto one of the 16-tile values and accordingly in Figure 4 zero 4- tile dots is mapped onto zero 16-tile dots, one 4-tile dot is mapped onto the three 16-tile dots, etc.. Of course, the correct 16-tile value will fail to be reached when adding up the 4-tile sub components. However, it is possible to determine by how much the 4-tiles fail to make up the grey value of the 16-tile, and this quantity is referred to as the residual grey of the 16-tile. Thus, if the 16-tile has a true grey value of for example 12 and the 4-tiles are representing a grey value of 10, the residual grey value will be 2. The residual grey value once it has been determined can be redistributed among the 4- tiles in order to emphasise local features, in which case it would be given to the darkest 4-tile in the group, or to give a more even tonal distribution, in which case it would be given to the lightest 4-tile. Thus, in the example, a residual grey value of 2 might be shared between two 4-tiles by turning on one dot in each of the two 4-tiles or it might be given to a single 4-tile by turning on two dots in the chosen 4- tile in order to achieve the desired effect. In this way, a bit mapped image can be converted into a byte- mapped image in preparation for further processing. Once the byte-mapped image has been acquired, whether directly from a video source or indirectly by way of bit map conversion, the image can be enhanced using known image enhancing techniques in order to place the image in an optimised form for printing. Preferably a software interface is provided between the user and the image enhancing routines, the interface being configured by controlling software for use by a person who is not skilled in the arts of computer programming or image processing. With the image in an optimised form, the system iteratively converts the information into a bit map format suitable for printing or display. The conversion process comprises three stages as shown in Figure 5. The first stage 20 is to convert grey tones into hierarchical dot patterns using tessellations. The technique is similar to that discussed hereinabove for converting bit maps into ' byte-maps in order to obtain grey tone images but in this stage the reverse is applied in order to convert the manipulated byte- mapped image data back into a bit mapped image. The difference at this stage is that the dots in the image can assume a grey scale value, thereby enhancing the finally printed image. Figure 6 shows examples of tessellations which may be used in stage 20. It will be appreciated that the choice of tessellation is only limited by the ability of the tile shape to be reproduced in a hierarchical structure. It will be appreciated that the tiles of each of the tessellations shown are composed of a number of individual dots. The example shown in Figure 6(d) is a tessellation consisting of 5-tiles 25 with common corners 26. Excluded points 27 are masked during the translation process and are then replaced to form part of the tessellation in the next hierarchy level. For the sake of clarity the following explanation will be given with respect -bo a ._ simple straight tessellation of the type shown a 28 in Figure 6(a) . A screen is imposed on the image. It should be apparent to those possessed of the appropriate skills that simply filling in a rectangular n-tile hierarchy will result in failure of the tessellation process unless it is done so as to confirm with well established principles of screening images. An arrangement of successful tessellations is illustrated in Figure 7. As illustrated in Figure 7, the rule for filling in the dots of a 4-tile is such as to start filling in the diagonally opposite corners of the tile and to choose the diagonals 29a, 29b in adjacent tiles to alternate in parity as ' shown. As has already been discussed in relation to Figure 3 each 16-tile in Figure 7 represents seventeen grey tones (0-16) whereas a larger 64-tile represents sixty-five tones of grey. Each of the 16-tile greys is mapped by a characteristic curve onto seventeen of the sixty-five available 64-tile values so that for example zero dots in a 16-tile maps onto zero dots in a 64-tile, one dot in the 16-tile maps onto say, ten dots in the 64-tile and so on up to sixteen dots on the 16-tile mapping onto all sixty-four dots in the 64-tile. The functional relation will in practice depend on the image histogram. If each 16-tile is intended to represent one pixel, it can represent part of the grey value with a residual. The residuals can be summed over all 16-tiles that make up the 64-tile. This residual will count for a certain number of unallocated dots because of the discreteness of the 16-tile grey representation. The unallocated dot is subsequently assigned, following an assigning algorithm, to one or more of the 16-tiles. The next stage 22 in the screening conversion shown in Figure 5 is to extract features from the image or each level of the tessellation hierarchy. Image feature extraction is well known in the art of image processing and requires no further explanation here. Image features need to be identified by the system in order to enable the movement of dots within the tiles to be optimised during image enhancement. Once image features have been so identified, the final stage of conversion can be executed. The final stage 24, referred to hereinafter as "dynamic screening", moves dots around within the tiles in order to enhance gradients and edge continuities in the final image. There are numerous ways in which four adjacent dots can be placed and it is even possible to permit disputed variants of four dots, but it is difficult to build algorithms around disjointed variants. So, instead of building around disjointed variants, the dynamic screening algorithm selects adjacent dot arrangements which are closest to the local feature being enhanced. For example, the dynamic screening algorithm will examine the gradient of the feature and bias the pattern in such a way as to enhance the feature. This is shown in Figure 8. In Figure 8 the gradient of the feature in the tile 30 is determined by examining the relationship between V x and V v . V χ and Vy are determined by comparing the difference between the greyness Gi of each of the i dots (where i=0 to 80 in this example) so that Vy=G7-Gχ and V X =G3-G3. If (Vyl > |V x |+€, where € is an increment controlling gradient sensitivity, then a horizontal line of dots 31 is selected. Similarly if lv x |>|Vy| + £ then a vertical line of dots 32 will be selected. If |V y | = IV X [ then it may be appropriate to select a square of four dots 34, or alternatively it may under these circumstances be appropriate to examine the greyness of dots 0, 2, 6, 8, in tile 30 i.e. to look at G 0 , G2, Gg, Gg, and so select dot arrangements 36 or 38 accordingly. One of the fundamental properties of using grey scale dots is that they can be deployed so as to enhance the resolution of lines, and of pictures in general. This is generally referred to by those skilled in the art as "anti-aliasing", although in fact anti-aliasing comes in a wide variety of incarnations. The simplest example of anti-aliasing is to remove the jagged edges from lines that are neither horizontal nor vertical. Such lines are normally drawn in a black and white only system using for example the Bresenham algorithm, a simple and well tested generalisation which leads to very fine lines. An example of a Bresenham line 40 is shown in Figure 9(a). Figure 9(b) shows how a similar line 41 can be represented using dots 42, 43, 44 of varying greyness with the degree of greyness being related to the distance of the dot from the line. More dots are used but the overall effect is to reduce the jaggedness of the line. This technique is well known to those skilled in the art of displaying graphic pictures on a multi-bit plane video display (see for example Foley & van Dam) and requires no further explanation herein. However, as far as the inventors are aware, the application of the technique to a printer designed to put grey dots onto paper and to deploy these dots as though they were being drawn on a grey-scale graphics screen has hitherto not been achieved. If one dot per resolution element is not used, the possibility of applying the discoveries relating to black and white dots that have been successfully applied to classical laser printers are opened up to grey tone images. The advantage of using grey scale tiles is that: it is possible to more grey scales per tile; printers usually work at resolutions around 40 lines per centimetre for a low resolution machine up to around 60 lines per centimetre for a high resolution machine there is therefore little point in working at 300 dots per inch, which corresponds to about 85 lines per centimetre even. though this amount of information is available. Moreover, by the use of careful grouping of grey dots the effects of "noise" due to fluctuations in electronics, toner inhomogenetics and non- uniformities of the laser printer drum can be significantly reduced. Careful grouping of grey dots can also yield a desirable "screening" effect that facilitates the use of photosetters in large volume production. The difficulty of- grouping dots into tiles is that the resolution suddenly drops from say 60 lines per centimetre to 40 lines per centimetre for a 2x2 (4-tile), and 30 lines per centimetre for a 9-tile. This difficulty can be overcome by using the dynamic screening technique already discussed. By moving the dots in the tile, and by adjusting their grey-values, the spatial resolution can be maintained close to the more desirable 50-60 lines per centimetre even with a 4-tile pattern. 2-tiles offer some flexibility with even greater resolution. Dynamic screening can also be applied to apparatus, eg. computer, monitors, in which grey dots can be generated. The application of dynamic screening to grey dots is best illustrated by way of an example of a 4-tile in which each dot can take eight distinct grey values from 0 to 7, with 0 being white and 7 being black. The overall greyness of the 4-tile can therefore take any of the values in the range 0, when all dots are white, to 28 when all dots are pure black. Any particular value of greyness say 16, can be achieved using many different grey dot combinations, some of which are shown in Figure 10. The 4-tile 45 shown in Figure 10(a), and its mirror-image offers a strongly screened image, but is too simple to be used generally. Using this tile is almost exactly the same as the white and black dots system and it is advantageous to group such tiles hierarchically. The 4-tile 46 shown in Figure 10(b) offers no advantage over previously available techniques except in situations of uniform greyness and even then it does not produce optimal results owing to technical problems such as non-homogenuities, noise, etc. The 4-tile 47 shown in Figure 10(c) is well adapted to a situation where there is a gradient or a nearby edge. The distribution of grey tonality can be adapted like a jig-saw to the local grey scale topography of the original image. We have found several particularly good 4-tile schemes and feel that the following technique and its 2-tile and 9-tile generalisations are particularly good in producing pictures. Referring to Figure 11, we prefer to adopt the sequence of tiles shown with the tile A(i) representing white, no grey dots, and all other grey tones up to black being represented by the sequence of tiles between these extremes. It should be noticed that the arrangement shown in tile B(ii) is of the same total grey tonality as the tile arrangement shown in C(i) . The selection between tile B(ii) and tile C(i) is based on the feature information identified in the picture processing stage. By keeping one dot of a tile pure white and avoiding the blank 4-tile A(i) ie. the tile in which all dots are white, an image with agreeable grey tone dynamics and good spatial resolution can be produced. It should be noted that, whilst the inventors have made extensive experiments with different grey dot patterns specific examples of which are described herein, it is the general techniques that form the nub of the invention since the actual grey dot patterns used will depend on the features in the image being processed. Once the dynamic screening stage 24 (of Figure 5) has determined which dot patterns to adopt and how to disperse the dots in accordance with the character of the image the information can be sent to a printing device for printing or to a monitor screen for display. Printers may be monochrome, in which case the pattern is sent as a bit stream to the high speed interface described hereinbelow, or colour in which case the assignment of patterns to each colour screen is the same as the monochrome description, but it is to be remembered that each colour screen has a different angle corresponding respectively to each of the colour planes eg. the red colour plane, the green colour plane and the blue colour plane. Screens may be bit map screens which behave just like a monochrome printer or colour (grey) in which all colours have horizontal screen (unlike quality printers), so calculations to take multi bit-planes into account must be made by the system. Thus, the above described aspect of the invention provides a dynamic screening method in which an image is divided into a plurality of tessellations, the form and individual image component, of each tessellation being determined by local parameters of the image to provide a half tone image of enhanced quality. The invention also provides a grey scale generator circuit which may be used in conjunction with a known laser printer to provide a half tone image of enhanced quality. Figure 12 shows a schematic circuit diagram of a grey scale generator circuit in accordance with the invention. In the circuit of Figure 12, for the purpose of computation grey scale images may be considered as large arrays of pixels, each one represented by a "colour" value. As is well known, in a computer such an image can be simply stored as a two dimensional integer array. Such an array being extracted pixel by pixel and presented to a printing device for printing of the image. There are a number of problems to be solved in order to produce an enhanced half tone printed image from the image array stored in computer memory. For example a suitable printer capable of producing the enhanced image must be made available in order to make production of the physical image possible, information must be transferred in a reasonable time from a suitable source to the computer memory and this information must be extracted from the source at the required speed for transfer to the printer. Thus, it is necessary to be able to synchronise picture information to the printers requirements. In order to achieve the required information transfer speed, the Figure 12 circuit is proposed. This circuit enables a standard laser printer, for example, using a Cannon II laser printer to be modified so that the beam current is modulated by the external electronics of the circuit. The circuit also enables a host computer to load a pre-processed picture ; file into the memory of the 8 computer under software control. (The pre-processing of the image is an integral part of the picture production) . Specially developed dual port RAM is used for delivering data to the laser printer at the required speed and timing. This information is processed in real time by analogue electronics to produce the beam modifier function. The primary function of the grey scale generator circuit 100 shown in Figure 12 is to supervise memory access in order to extract data from the memory at the time required by the printer. The circuit comprises a controlling processor 101, which is preferably a Motorola M68000 MPU, and operation of the circuit has to satisfy the timing requirements of the processor 101. A 2 M byte DRAM 102 is also provided and has to be constantly refreshed by a Dynamic RAM controlling circuit 103 under the control of the processor 101. The circuit 100 also includes means for supporting the fast access to the memory required to extract image information for printing. A master timing circuit 101a is provided to acco odate DRAM refresh and picture raster generation whilst miminising the chip count of the circuit 100. The key to this timing circuit 101a is to produce multi-phase clock sequences to perform all of the various tasks under different hardware states. These states are set up by the processor prior to the necessary operations. In essence the entire set of operations of the master timing circuit may be regarded as a classical state machine implemented in TTL logic. The processor 101 is, at its simplest, an eight state machine. The eight state cycle of the processor 101 is extended to sixteen states by adding in pairs of wait states between states four and five of the eight state cycle (as defined in Motorolas M68000 data sheets). Thus, normal processor access to the RAM is a sixteen state operation in order to optimise the design and operation of the circuit. Each sixteen state cycle is synchronised to the printers own internal logic and this synchronising function is also performed by the circuit 100. The DRAM 102 refresh cycle is a four state process that is state synchronised to the sixteen state cycle of the processor 101 for all times for which the processor requires access to the DRAM 102. In addition, the DRAM refresh cycle is arranged to run continuously at all other times. However, this synchronisation need only be at clock level. The dynamic RAM control 103 utilises the relatively new mode of refresh: the column address strobe CAS is energised before the row address strobe RAS. This mode requires no external address counter. The refresh states form part of the overall state machine as mentioned hereinabove. The DRAM 102 is addressed through a two way multiplexer which may be switched to the processor or to the raster generation counters during picture generation. The data bus is not multiplexed and the processor is stopped prior to picture generation to enable external access to the memory. An address generator logic circuit 103a cooperates with the DRAM control circuit 103 to enable access to locations within the DRAM for the extraction of data therefrom. The address generator circuit 103a is a two dimensional counter system that delivers data from the data bus at the required speed, line synchronisation is performed using the term MLON from the printer. MLON is a signal generated within a Cannon II laser printer and is used to turn the laser on for line by line calibration. It has been found to be an excellent source of line timing information which can be utilised in the circuit 100. During a printing operation the processor requires no access to the memory. Instead, external logic, e.g. 104, takes over and the DRAM is sequentially accessed by a sixteen state machine. As each word of the image data is read from the DRAM it is buffered and demultiplexed by a data access circuit 105 to produce a value corresponding to a binary grey value. This circuit is simply a four way nibble multiplexer driven by ' the above mentioned state machine. Each nibble is latched for one quarter of a word access time for the generation of the associated pixel. The binary grey value is then converted into a pulse width signal having a pulse width related to the corresponding grey valμe. The pulse width signals are generated by a non-linear analogue "function generating" circuit 106. The pulse width modulated binary function signal is used to modulate the intensity of the laser in the laser printer in order to enable the laser printer to produce grey images. A memory map for the grey scale generator circuit 100 is shown in appendix 1 hereinbelow. The central issue in making grey tone images on a standard laser printer is the modulation of the laser supply current. This problem is twofold. Firstly, timing of the supply current modulation must be correctly achieved in order to synchronise grey pixels to printer requirements. Secondly, the supply current modulation for each dot within each pixel must be controlled to produce grey dots. A modulation code is delivered every 537 nanoseconds from the dual port RAM control logic. This four bit code is then converted in real time to a grey tone by the following mechanism. The data is presented to a resistor binary summing network directly from TTL circuitry. The levels are stabilised by using open collector outputs fed from voltage stabilised current sources. The summed current provides a small voltage which is amplified by video bandwidth operational amplifiers to give a video type analogue signal. The resultant video signal is then used to modulate the laser bandwidth during raster time (and only raster time) . This is done by using the voltage to modulate the duty cycle of a fast astable clock. (5 - 10 MHz.) This stage is required to fit the grey to current curve of the laser diode device. The astable clock provides pulse width modulation of the laser diode current to produce grey tones. The high frequency pulses themselves are smoothed by the natural time constants of the host system leaving 537 nanosecond dots represented by grey, or time integrated intermediate currents. Various less successful means were also tried, including simple amplitude modulation of the beam current. This was found to be impractical for the host circuitry on which it was tried because the host circuitry had insufficient bandwidth at the necessary stage. However, it is envisaged that amplitude modulation could be used to control a laser or other printer having a sufficient bandwidth at the necessary stage. The modulation code delivered to the control circuit every 537 nanoseconds from the dual port RAM control logic is the nibble, or quarter word value actually extracted from the two megabyte dynamic RAM storage. The data is fetched from the RAM by TTL circuits while the processor is in its stop mode as defined by the manufacturer. Data is read one word at a time in address sequence. Each word is split by multi-phase timing to give four nibbles in the correct order. The process is thus a sequence of counts controlled by random logic and a significant aspect of this process is the ability to maintain dynamic RAM refresh throughout the operation by emulating the real processor operational timing -sequence. At the end of the whole process the hardware hands control back to the CPU by instigating an interrupt at autovector four as defined by the manufacturer. This causes the processor to begin exception processing to recover status regarding the operation. A Centronics interface circuit 106 is included in the circuit 100 to allow the circuit 100 to communicate with and/or be controlled by an external host computer. A programmers model of the Centronics interface circuit is given in Appendix 2. The above described circuit 100 provides for a non destructive modification to the DC controller card of a laser printer. The modification involves the removal of the cover to expose the main processor underside and the DC controller component side and installation of the circuit 100. The circuit 100 can be installed in parallel to the existing controlling circuitry of the printer since the circuit 100 serves simply to enhance the signals sent from the controlling circuit to the laser driving circuit to enable grey scale pixels to be produced by the printer. If grey scale images are not required from the printer, the circuit 100 can be switched to a standby mode in which it is completely transparent to the signals from the printers own controlling circuit. Figures 13 to 20 show the grey scale generator circuit 100 in greater detail; and Figures 21 and 22 show timing diagrams for the grey scale circuit 100. The functioning of the circuit will be apparent to those skilled in the relevant art and accordingly no 38 further explanation need be given herein. Exemplary embodiments of the invention have been described and it should now be clear to those possessed of the relevant skills that many modifications are possible without departing from the spirit and scope of the invention as claimed. For example, whilst the grey scale generator circuit has been described with particular reference to a Motorola M68000 processor device, it should be understood that other processor devices made by the same or other manufacturers can equally well be used to control and manipulate image data for printing by a laser printer. Similarly, whilst specific reference has been made to a laser printer, the invention can be applied to other printing devices such as for example a dot matrix printer. Moreover, the Centronics interface may be substituted with any suitable parallel or serial interface such as for example an IEEE488 bus interface. - Appendix 1: Grey Scale Generator Memory Map $FFFFFF ILLEGAL MEMORY SPACE $400000 2 M Bytes of Dynamic RAM $200000 I/O locations SOCOOOO Not Used $090000 System ROM area $080000 I/O locations $020000 Not Used $010000 Boot RAM area for user programs $002000 System RAM area $000400 Restart Vectors and trap locations $000000 ψD Appendix 2: Programmers model of Centronics I/O Host Connection Data input ..... $40001 control reg: $40003 b7 Host strobe i/p b6 n.u. b5 high (1) b4 high (1) b3 Host busy o/p b2 DDR access (low active) bl Host strobe cntl. (0) bO Host strobe cntl. (0) Note: DDR register all input ie. $00 2. Ptr. Connection Data output $20001 aux/status reg: $40041 b7 Printer Busy i/p (TP4) b6 Test point 3. b5 Test point 2. b4 Test point 1. b3 Printer Error (active low b2 Printer Selected i/p bl Printer Selected o/p bO MLON input from Ptr. control ref: $40043 b7 P'Busy Latched b6 n.u. b5 high (1) b4 high (1) b3 Printer Strobe o/p b2 DDR access (low active) bl P'Busy "Latched" control. bO P'Busy "Latched" control. Note: DDR register one output ie. $04

Claims: 4J CLAIMS : 1. A dynamic screening method in which image data stored in memory is divided into a plurality of tasselations, the form and individual image components of each tasselation being determined by local parameters of the image represented by said image data, and each tasselation is processed to provide information enabling an enhanced half tone version of the image to be printed. 2. A method according to claim 1 wherein the image data stored in memory is binary tone image data. 3. A method according to claim 1 wherein the image data stored in memory is grey scale tone image data. 4. A method according to claim 1 or 2 or 3 wherein the form of the tasselation is selected to represent approximately a local feature of the image to be printed, thereby to enhance that feature in the printed image. 5. A method according to any preceding claim wherein the tones of each said individual image component are selected to provide a tonal pattern in the tasselation which tonal pattern is representative of a local feature in the image. 6. A method according to any preceding claim, wherein the gradient of a line portion in the image, which line portion is local to a given tasselation, is determined and the form and individual image components of the given tasselation are selected in accordance with said gradient. 7. A method according to any preceding claim wherein the tone of a portion in the image, which portion is local to a given tasselation, is determined and the tones of each image component of the tasselation are selected to define a tasselation having a tone representative of the tone in said image portion. 8. A method of producing enhanced image information from an array of image information, in which method the array of image information is divided into smaller image elements comprising a plurality of individual array elements, and each image element is filtered to enhance grey scale resolution of the image information. 9. A method according to claim 8, wherein each smaller image element is defined by a non-rectilinear pattern of the said individual array elements. 10. A method according to claim 9, wherein the form of the non-rectilinear pattern is determined for each smaller image element in accordance with local image features in the image array. 11. A method according to claim 8 or 9 or 10, wherein at least one individual array element is common to two adjacent smaller image elements. 12. A method according to claim 8 or 9 or 10 or 11, wherein a hierarchy of image elements is defined to facilitate said filtering, the hierarchy being such that image elements at a first level comprise plural image elements or plural array elements from a second lower level and the overall tone of the image elements at the first level is approximated to the tone of the plural image elements or plural array elements at the second level. 13. A method according to claim 12, wherein the first level image elements are defined as selected plural image elements or plural array elements at the second level to give a first approximation of the desired tone of each of the first level image elements and the tone of unselected image elements or array elements at the second level is subsequently used to give a final approximation of the desired tone. 14. A method of enhancing grey tone images from an image acquisition source, the method comprising the steps of translating the grey tones of the acquired image into a hierarchical dot pattern, identifying features of the image local to each dot pattern of the hierarchy, and manipulating the distribution of the dots within each dot pattern in accordance with the identified features. 15. A method of dynamic screening in which image data from a video source are converted into a suitable multiple tone image format, the multiple tone image is processed to enhance the image, the enhanced image is converted to a bit map representation thereof and the locations individual bits in the bit map are adjusted to produce a bit map conforming to features identified in the enhanced image. 4_T 16. An apparatus for providing print information to a printing device, the apparatus comprising a processing means for processing image information in a memory means for processing image information in a memory means, controlling means for controlling communication between the processing means and the memory means, and modulating means cooperating with the processing means and the memory means for providing a modulated signal representative of the processed image information to the printing device for printing of the processed image. 17. An apparatus according to claim 16, wherein the modulated signal supplied to the printing device causes the printing device to print individual image elements of predetermined size and/or shape and/or greyness. 18. An apparatus according to claim 16 or 17 further comprising interfacing means for interfacing the printing device to one or more host computers. 19. An apparatus according to any of claims 16 to 18 wherein the processing means and the controlling means are arranged to manage the timing of memory access such that information is extracted from the IXJo memory means for modulation when required by the printing device. 20o An apparatus according to any of claims 16 to 19 wherein the modulated signal is frequency modulated. 21. An apparatus according to any of claims 16 to 19 wherein the modulated signal is amplitude modulated. 22. An apparatus according to any of claims 16 to 21 wherein the printing device is a laser printer and the laser or lasers thereof are driven directly by the modulated signal. 23. An. apparatus according to any of claims 16 to 22 wherein the modulated signal is a current signal. 24. An apparatus according to any of claims 16 to 23 wherein the processing means comprises a microprocessor device and the memory means comprises a dynamic random access memory device controlled and refreshed by associated controlling circuitry. 4-?- 25. A device for use in a non destructive modification to a laser printer, the device being arranged to modify the signal for driving the laser or lasers of the printer.such that the laser will cause to be printed discrete dots of predetermined and continuously variable size and/pr shape and/or tone. t 26. An apparatus or method of printing an enhanced grey scale image using a binary printing device in which apparatus or method image information stored in a memory means as data relating to discrete points in the image is divided into a plurality of picture elements formed from at least two of the discrete points, each of the picture elements are processed to enhance features of the image local to each of the picture elements and the processed picture elements are supplied to the printing device for printing of the enhanced image.

Inventors: JONES BERNARD JEAN TREVOR, PAYNE DAVID, JONES, BERNARD, JEAN, TREVOR, PAYNE, DAVID
Applicants: PIXIE INTELLIGENT COMPUTER SYS, PIXIE INTELLIGENT COMPUTER SYSTEMS A/S
Application year: 1989
Main classification: H04N1
IPC codes: H04N1