HALFTONE SCREENS ASSOCIATED WITH MOIRÉ EFFECTS BELOW A THRESHOLD
20190349501 · 2019-11-14
Assignee
Inventors
Cpc classification
H04N1/58
ELECTRICITY
H04N1/4058
ELECTRICITY
International classification
H04N1/405
ELECTRICITY
Abstract
In an example, a method includes determining, using a processor, a set of halftone screens each comprising tiles spanning a plurality of cells, wherein at least one screen is a non-orthogonal screen and the cells comprise parallelograms being defined by a first vector having a first length and second vector having a second length. A first and a second fundamental frequency may be determined for each of the screens using a projection of the first and of the second vector into each axis of a print apparatus reference frame, the first length and the second length. Using the first and second fundamental frequencies, it may be determined which screens are associated with moir effects below a threshold.
Claims
1. A method comprising: determining, using a processor, a set of halftone screens each comprising tiles spanning a plurality of cells, wherein at least one screen is a non-orthogonal screen and the cells comprise parallelograms being defined by a first vector having a first length and second vector having a second length; determining, using a processor, for each of the screens, first and second fundamental frequencies using a projection of the first and of the second vector into each axis of a print apparatus reference frame, the first length and the second length; and determining, using a processor and the first and second fundamental frequencies, which screens are associated with moir effects below a threshold.
2. A method according to claim 1 wherein determining the first fundamental frequency comprises using the first length and the projections of the first vector into the axes of the print apparatus reference frame and determining the second fundamental frequency comprises using the second length and the projections of the second vector into the axes of a print apparatus reference frame.
3. A method according to claim 2 wherein determining which screens are associated with moir effects below a threshold comprises determining an indication of an interference pattern for a screen used for a print apparatus having a predetermined pixel size, wherein determining the interference pattern comprises evaluating:
{right arrow over (f)}.sub.interference=.sub.1{right arrow over (f)}.sub.1+.sub.2{right arrow over (f)}.sub.2+.sub.1{right arrow over (g)}.sub.1+.sub.2{right arrow over (g)}.sub.2 where {right arrow over (f)}.sub.1 and {right arrow over (f)}.sub.2 are the first and second fundamental frequencies, .sub.1, .sub.1, .sub.1 and .sub.2 are integers
4. A method according to claim 1 wherein determining the first and second fundamental frequencies comprises multiplying each projection of the first vector by a first factor to provide a first non-negative integer n.sub.1 and a second non-negative integer m.sub.1 and multiplying each projection of the second vector by a second factor to provide a third non-negative integer n.sub.2 and a fourth non-negative integer m.sub.2, wherein determining the first and second fundamental frequencies comprises using the first, second, third and fourth non-negative integers n.sub.1, m.sub.1, n.sub.2, m.sub.2.
5. A method according to claim 1 wherein determining the first and second fundamental frequencies comprises determining a first tile side length and a second tile side length using the projections of the first and second vectors into the axes of the print apparatus reference frame and a cell count of first side of tile in the direction of the first vector, a cell count of second side of tile in the direction of the first vector, a cell count of first side of tile in the direction of the second vector and a cell count of second side of tile in the direction of the second vector, wherein each of the first, second third and fourth cell counts comprise non-negative integers.
6. A method according to claim 1 further comprising determining a first print resolution res.sub.1 in a first direction and a second print resolution res.sub.2 in a second direction, orthogonal to the first direction, wherein determining the first and second fundamental frequencies further comprises using a scaling factor based on the first and second print resolutions.
7. A method according to claim 1 further comprising determining a modified set of screens comprising those screens associated with moir effects below a threshold.
8. A method according to claim 7 further comprising, for the modified set of screens, combining a plurality of screens corresponding to different print separations and determining for that combination:
9. A method according to claim 7 further comprising selecting a set of screens for a print output, the set of screens being selected such that {right arrow over (f)}.sub.moire0 or >f.sub.min, where f.sub.min is a threshold relating to moir detectability.
10. A method according to claim 9 further comprising processing input data using the selected set of screens to provide control data for a print output and printing the print output.
11. Processing circuitry comprising: a screen generation module to generate a plurality of halftone screens each comprising tiles comprising cells, the cells comprising parallelograms being defined by a first vector having a first length and second vector having a second length, wherein at least one screen comprises non-orthogonal cells; a frequency determination module to determine for each of a plurality of screens, first and second orthogonal fundamental frequencies using a projection of the first and of the second vector for that screen into each axis of a print apparatus reference frame, the first length and the second length; and a screen selection module to test each screen for moir effect.
12. Processing circuitry according to claim 11 wherein the screen selection module is to retain screens which are associated with a moir effect below a threshold and discard screens which are associated with a moir effect above the threshold.
13. Processing circuitry according to claim 11 wherein the screen generation module is to generate the plurality of halftone screens such that each screen comprises tiles having a first and a second side length, where the first and the second side length span a non-negative integer number of the first and the second lengths of the cells of that screen.
14. A non-transitory machine readable medium comprising instructions which, when executed by a processor, cause the processor to: determine a non-orthogonal halftone screen comprising tiles spanning a plurality of halftone cells having a print addressable area of variable size, the halftone cells comprising non-orthogonal parallelograms being defined by a first vector having a first length and second vector having a second length; determine first and second fundamental frequencies for the halftone screen using a projection of the first and of the second vector into each axis of a print apparatus reference frame, the first length and the second length; and use the first and second fundamental frequencies to determine if the halftone screen is associated with perceptible moir effects.
15. The non-transitory machine readable medium of claim 14 further comprising instructions which, when executed by the processor, cause the processor to: combine a plurality of screens and test the combinations of screens to determine if the screen is associated with perceptible moir effects.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0003] For a more complete understanding, reference is now made to the following description taken in conjunction with the accompanying drawings in which:
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
DETAILED DESCRIPTION
[0011] In the case of two-dimensional printing, a print addressable location may comprise at least one pixel, and each print addressable location may be printed with at least one colorant such as inks (for example cyan, magenta, yellow and black inks), coatings or other print materials, as well as combinations of those print materials.
[0012] In the case of three-dimensional printing, which is also referred to as additive manufacturing, three-dimensional space may be characterised in terms of voxels, i.e. three-dimensional pixels, wherein each voxel occupies or represents a discrete volume. In examples of three-dimensional printing therefore, an addressable area may comprise at least one voxel and each voxel may be printed i.e. generated or manufactured, using one or a combination of agents and/or build materials.
[0013] To briefly discuss three-dimensional printing in greater detail, objects generated by an additive manufacturing process may be formed in a layer-by-layer manner. In one example, an object is generated by solidifying portions of layers of build material. In examples, the build material may be in the form of a powder or powder-like material, a fluid or a sheet material. In some examples, the intended solidification and/or physical properties may be achieved by printing an agent onto a layer of the build material. Energy may be applied to the layer and the build material on which an agent has been applied may coalesce and solidify upon cooling. In other examples, directed energy may be used to selectively cause coalescence of build material, or chemical binding agents may be used to solidify a build material. In other examples, three-dimensional objects may be generated by using extruded plastics or sprayed materials as build materials, which solidify to form an object. Some processes that generate three-dimensional objects use control data or print instructions generated from a model of a three-dimensional object. This control data may, for example, specify the locations at which to apply an agent to the build material, or where a build material itself may be placed, and the amounts to be placed. The control data may be generated from a 3D representation of an object to be printed. Locations may be expressed in terms of voxels. A voxel at a given location may have at least one characteristic. For example, it may be empty, may have a particular color or may represent a particular material, or a particular object property, or the like. In general, the voxels of an object may each have the same shape (for example, cubic or tetrahedral), or may differ in shape and/or size. However, where the term voxel is used herein to refer to a print addressable location, the voxel size may be determined at the print resolution of a print apparatus, i.e. it may correspond to a volume which can be individually addressed by a print apparatus (which may be a particular print apparatus, of a class of print apparatus, or the like) such that the properties thereof can be determined independently of the properties of other voxels.
[0014] In some examples of printing methods, patterns may be inadvertently formed in a printed output. For example, a moir pattern may be seen where clusters of dots repeat or, in the case of printing multiple colors (which may be printed in separate layers, or separations), dots from one color may visually interfere with dots printed in another color. Such patterns can detract from image quality. Well defined halftone screens can be used to avoid such patterns appearing in printed outputs, or to minimise their occurrence or impact.
[0015] In order to explain the processing which may be applied to halftone screens according to examples set out herein, an illustration of the features and structures underlying an example halftone screen are described in relation to
[0016]
[0017] While the examples of black and grey have been used here, the term greyscale may be applied to any color, for example, each of a yellow, magenta, cyan and black print material set, or some other print material set, and indeed to other properties such as strength, resilience, conductivity and the like (although it may be noted that moir is usually a visual effect).
[0018] Also overlying the grid 100 are a plurality of tiles 104. The tiles 104 are orthogonal and aligned with the pixel grid 100. In amplitude modulation, a greyscale level may be defined at the level of a tile, and therefore, for a given greyscale level, tiles 104 will be repeated (although a particular cell in a tile for a particular greyscale level may have a different number of populated pixels than another cell). An amplitude modulation screen may be made up of a plurality of repeated, or replicated tiles (i.e. tiles which will result in the same output for a given greyscale level, or expressed another way, tiles which using the same screening procedure to determine where to place print agent). Using replicated tiles reduces computational time in processing data for printing.
[0019] Screens which are likely to result in moir effect (independently and/or in combination when a plurality of separations are printed) may be identified by applying tests thereto to identify underlying frequencies, or periodicities, in the screens.
[0020] As different screens may be used to provide different image effects, having access to a large number of at least substantially moir free screens means that a screen or screen set suitable to a particular print job may be selected for printing.
[0021] As is shown in
[0022] The screen may be generated by and/or supplied to processing circuitry 106, which carries out a method as described in at least one block of
[0023]
[0024] Block 202 comprises determining a set of halftone screens which may comprise amplitude modulation (AM) halftone screens. Each screen comprises tiles (which may be replicated tiles) comprising cells. The cells comprise parallelograms being defined by a first vector having a first length and second vector having a second length. At least one screen is a non-orthogonal screen (i.e. is made up of halftone cells which are non-orthogonal). The cells may for example span a plurality of print addressable pixels. Where the screen is an amplitude modulation halftone screen, the number of pixels in a cell which are associated with a print instruction may be determined based on the greyscale level in a region of an image corresponding to the cell. The screens may comprise at least one orthogonal screen (such as the screen shown in
[0025] In some examples, each screen comprises tiles having a first and a second side length, where the first and the second side lengths span a natural number of both the first and the second lengths of the cells of that screen. This may assist in reducing the computational burden associated with the processing described below. In some examples, the first and second lengths may be natural numbers, which may again reduce the computational burden. In other examples, they may be floating point numbers.
[0026] Block 204 comprises determining, for each of the screens, first and second fundamental frequencies using a projection of the first and of the second vector into each axis of a print apparatus reference frame, the first length and the second length. The fundamental frequencies correspond to the largest periodicities in a screen. In some examples, the first and second fundamental frequencies may be determined in orthogonal directions, for example corresponding to the frequency along the length of a printed page and across the width of the printed page. The first length and the second length may be natural numbers, i.e. non-negative integers.
[0027] Block 206 comprises, using the first and second fundamental frequencies, determining which screens are associated with moir effects below a threshold. Block 206 may be carried out in relation to each screen individually, and may in some examples comprise applying a first filter to identify screens which are likely to result in moir effects alone, with a second filter being applied to identify screen combination (e.g. combination of screens for a plurality of print separations) which are likely to result in moir effects.
[0028] By determining the projections of the first vector and of the second vector into each axis of a print apparatus reference frame (for example, this may be across the page and along the length of a page, and/or the axes of a pixel or laser grid), and the first length and the second length, the first and second fundamental frequencies may be derived in a generalised manner, which does not place any constraints on the underlying geometry (i.e. it extends to non-orthogonal cells). This method therefore allows the solution space to be explored without such constraints, which may result in a greater range of solutions being derived. As noted above, depending on the use of a printed article, one screen or set of screens may be preferred over another. As is further noted below, in some examples, the projections may be multiplied by factors to provide natural numbers, i.e. non negative integers, which eases the computational burden in determining the fundamental frequencies. In some examples, the fundamental frequencies may be obtained using just natural numbers (i.e. no non-natural numbers). In some examples, six natural numbers characterising the halftone screen and being based on the first and second length and the projections may be used to determine the fundamental frequencies.
[0029]
[0030] It may be noted that the first and second vectors Vec.sub.1, Vec.sub.2 have different lengths. This reflects the fact that the addressability of a print apparatus may different in different direction. In some examples, a dots per inch (dpi) addressability (which specifies how many dots can be printed within a line) and/or a lines per inch (LPI) addressability may differ. However, the methods described herein may also be employed with orthogonal cell grids and/or examples in which the addressability which is the same in both directions. In some examples, the vectors have a magnitude associated with the relationship between the dpi and the LPI.
[0031] For example, the magnitudes may be expressed as:
[0032] As noted above in relation to block 204, the first and second fundamental frequencies may be determined using a projection of the first and of the second vector into each axis of a print apparatus reference frame. This projection may result in four values: n.sub.1, m.sub.1 (which are the projections of vec.sub.1 into the x and y axis of the underlying pixel grid), n.sub.2, m.sub.2 (which are the projections of vec.sub.2 into the x and y axis of the underlying pixel grid).
[0033] Expressed another way, Vec.sub.1 may be defined as extending for n.sub.1 pixels in a first direction and m.sub.1 pixels in a second direction. Vec.sub.2 may be defined as spanning n.sub.2 pixels in the first direction and m.sub.2 pixels in the second direction.
[0034] This may be expressed as:
Vec.sub.1=[n.sub.1,m.sub.1],Vec.sub.2=[n.sub.2,m.sub.2]
[0035] In some examples, it may be more convenient and computationally efficient to work in natural numbers. Therefore, determining the first and second fundamental frequencies may comprises multiplying each projection of the first vector by a first factor to provide a first integer n.sub.1 and a second integer m.sub.1 and multiplying each projection of the second vector by a second factor to provide a third integer n.sub.2 and a fourth integer m.sub.2. In such examples, determining the first fundamental frequency comprises using the first integer n.sub.1 and the second integer m.sub.1 and determining the second fundamental frequency comprises using third integer n.sub.2 and the fourth integer m.sub.2.
[0036] This may be expressed as:
[0037] Where n.sub.1, m.sub.1, n.sub.2, m.sub.2, factor.sub.1, factor.sub.2 are positive integers.
[0038] In some examples, determining the first fundamental frequency comprises using the first length and the projections of the first vector into the axes of the print apparatus reference frame and determining the second fundamental frequency comprises using the second length and the projections of the second vector into the axes of a print apparatus reference frame. In each case, the projections may be multiplied by a factor so as to be natural numbers.
[0039] For example (and as will be set out in greater detail below), the fundamental frequencies may be expressed as
[0040] Where {right arrow over (f)}.sub.1 is the first fundamental frequency, {right arrow over (f)}.sub.2 is the second fundamental frequency, cellSize.sub.1 is the first length and cellSize.sub.2 is the second length.
[0041] Thus is can be seen that, by defining a relatively small number of variables, the first and second fundamental frequencies may be readily determined. As the method for determining the first and second fundamental frequencies, a given processing resource may explore a solution space more efficiently (e.g. faster) than a more complex operation.
[0042] In other examples, the first and second lengths may be used to determine the fundamental frequencies by first being used to determine the size of the tiles.
[0043] Using these vectors, a tile may be defined in terms of the cells it spans (in the direction of the fundamental vectors vec.sub.1 and vec.sub.2), which in this example is a natural number. As the tiles may be at an angle to the cells, the tiles may cut across the cell grid. This allows the fundamental frequencies may be expressed as:
[0044] Here, six natural numbers may be used to find both fundamental frequencies.
[0045] In some examples, determining which screens are associated with moir effects below a threshold in block 206 comprises determining an indication of an interference pattern for a screen used for a print apparatus having a predetermined pixel size, wherein determining the interference pattern comprises evaluating:
{right arrow over (f)}.sub.interference=.sub.1{right arrow over (f)}.sub.1+.sub.2{right arrow over (f)}.sub.2+.sub.1{right arrow over (g)}.sub.1+.sub.2{right arrow over (g)}.sub.2
[0046] where {right arrow over (f)}.sub.1 and {right arrow over (f)}.sub.2 are the first and second fundamental frequencies, and
(where pixelSize is a measure of the separation between the centres of the pixels).
[0047] .sub.1, .sub.1, .sub.1 and .sub.2 are integers. The Fourier Transform of a grid is also a grid (with reciprocal length of its basis vectors). The fundamental frequency may be termed the first harmony, with higher frequencies called higher harmonies. .sub.1, .sub.1, .sub.1 and .sub.2 denotes the frequency harmony, and the sum of .sub.1, .sub.1, .sub.1 and .sub.2 is called the moir order.
[0048]
[0049] Block 502 comprises multiplying each projection of the first vector by a first factor to provide a first natural number n.sub.1 and a second natural number m.sub.1 and multiplying each projection of the second vector by a second factor to provide a third natural number n.sub.2 and a fourth natural number m.sub.2, for example as described above.
[0050] Block 504 comprises determining a first print resolution res.sub.1 in a first direction and a second print resolution res.sub.2 in a second direction, orthogonal to the first direction.
[0051] Block 506 comprises determining a first and a second fundamental frequency using a scaling factor based on the first and second print resolutions. For example, the first and second fundamental frequency may be expressed using scaling factors r.sub.1 and r.sub.2 as:
[0052] where {circumflex over (x)} and are unit vectors, and for res.sub.1res.sub.2, r.sub.1=(res.sub.2/res.sub.1).sup.2 and r.sub.2=1 and for res.sub.1<res.sub.2, r.sub.1=1 and r.sub.2=(res.sub.1/res.sub.2).sup.2. A similar relationship may be derived based on tile size.
[0053] Block 508 comprises determining a modified set of screens comprising those screens associated with moir effects below a threshold, which may be a predetermined threshold. For example, {right arrow over (f)}.sub.interference may be compared to a threshold, and screens which are above the threshold are retained (as interference becomes less perceptible above a threshold). This identifies periodic patterns which may occur in individual screens as a result of interference between the cell grid and the pixel grid, which may therefore be filtered out of a screen set before the method continues.
[0054] Block 510 comprises, for the modified set of screens, combining a plurality of screens corresponding to different print separations.
[0055] Block 512 comprises determining, for the combination,
{right arrow over (f)}.sub.moire=.sub.i,j.sub.j.sup.i{right arrow over (f)}.sub.j.sup.i
[0056] wherein f is a fundamental frequency, i and j are non-negative integers, 1inumber of separations and j=(1,2), and .sub.j.sup.i denotes a moir order.
[0057] Block 514 comprises determining if {right arrow over (f)}.sub.moire>f.sub.min
[0058] For examples, f.sub.min may be set to be the maximal frequency for moir which is detected by a human eye at a viewing distance of around 30 cm for the lowest order moir effects (which is around 85 LPI). Higher ordered moir vectors may also be considered, for example using a lower band (for example around 70 LPI for moir order 3, and lower for higher orders) as their visibility drops with increasing order number. Different applications may result in different thresholds being applied (for example, a viewing distance of a poster may be higher than a printed page in a book, so a different threshold may be appropriate, and/or moir may be tolerated more in some use cases than in others).
[0059] This detects high frequency moir. Effectively, it allows the identification of screen combinations in which the frequency is too high and the moir effect is too low to be observed, and which may therefore be acceptable for use in printing.
[0060] Block 516 comprises determining if {right arrow over (f)}.sub.moire0
[0061] This allows identification of screen sets having almost 0 moir. The range of values which are determined to be approximately equal to zero may again depend on factors such as the use case, such as intended viewing distance, the extent to which moir may be tolerated, and the like.
[0062] In other words, screen combinations which are associated with moir frequencies in a band which is above a low threshold but below a high threshold associated with the limits of human observation may be identified by such a method, as they do not pass the tests set by blocks 514 and 516. Such screen combinations may be rejected as they will result in an observable moir effect (or, expressed another way, a moir effect above a threshold) if used to produce a printed output.
[0063] Block 518 comprises selecting at least one combination of screens for which at least one of the conditions of block 514 and block 516 is satisfied and block 520 comprises processing input data using the selected set of screens to provide control data for a print output and block 522 comprises printing the print output. This will produce a print output which is unlikely to exhibit moir patterns.
[0064] A print apparatus may print an article according to print instructions/control data, and to that end may comprise print apparatus components such as print head(s), at least one print agent supplies, and the like. Where the print apparatus is a two dimensional printer, it may for example comprise a laser printer or an inkjet printer or the like, and may comprise a print head, substrate handling systems, sources of inks or toner, and the like. Where the printer is a three dimensional printer, it may comprise, or be associated with, a print bed, a fabrication chamber, a print head, at least one energy source, a source of build material, or the like.
[0065] A further discussion of the analytical basis for methods describes herein follows, which refers again to the example of a non-orthogonal halftone screen which was described above with reference to
[0066]
[0067] Where CellSize1 and CellSize2 are first and second side lengths of a cell (noting that a cell is a parallelogram with two pairs of sides), dpi is dots per inch and LPI is lines per inch, in an x and y respective direction.
[0068] It may be noted that 0<.sub.1<90, 0<.sub.2<90. In addition, max (dpi.sub.x, dpi.sub.y)/min(dpi.sub.x, dpi.sub.y) may be a non-negative integer.
[0069] As can be seen from the Figure,
a.Math.Vec.sub.1.sup.yb.Math.Vec.sub.2.sup.y=0
a.Math.Vec.sub.1.sup.x+b.Math.Vec.sub.2.sup.x=Tile.sub.1
c.Math.Vec.sub.2.sup.x+d.Math.Vec.sub.1.sup.x=0
c.Math.Vec.sub.2.sup.y+d.Math.Vec.sub.1.sup.y=Tile.sub.2
[0070] Where: Tile.sub.1 is first side length of a tile, Tile.sub.2=second side length of a tile, a is a cell count of first side of tile in Vec.sub.1 direction, d is a cell count of second side of tile in Vec.sub.1 direction, b is a cell count of first side of tile in Vec.sub.2 direction and c is a cell count of second side of tile in Vec.sub.2 direction. a, b, c and d are non-negative integers (i.e. may be zero or a positive integer) and Tile.sub.1 and Tile.sub.2 are positive integers.
[0071] It may be noted that:
[0072] On this basis, it can be seen that:
[0073] If it is assumed without loss of generality that a=m.sub.2 and c=n.sub.1 (which assumption may be made to simplify the equations: a, b, c and d may still be non-negative integers: it may be noted that while in principle any non-negative integers may be selected for a and c, b and d are function of a and c and cannot be selected arbitrarily) then:
[0074] From which it may be derived that:
[0075] To verify that factor.sub.1, factor.sub.2, b and d are natural numbers (i.e. non-negative integers), each input term may be multiplied by their least common divider (lcm):
lcmTile=lcm(Tile.sub.1,Tile.sub.2)
TABLE-US-00001 m.sub.1 = m.sub.1 .Math. lcmTile n.sub.1 = n.sub.1 .Math. lcmTile Tile.sub.1 = Tile.sub.1 .Math. lcmTile m.sub.2 = m.sub.2 .Math. lcmTile n.sub.2 = n.sub.2 .Math. lcmTile Tile.sub.2 = Tile.sub.2 .Math. lcmTile
[0076] a, b, c and d may be recalculated using the same formula as above.
[0077] Cellsize (or LPI) and angle of each vector may be calculated as follow:
[0078] Finally, using Vec.sub.1 and Vec.sub.2, a cell grid may be created as follows:
[0079] In addition:
[0080] In the special case of dpi.sub.x=dpi.sub.y:
[0081] In the special case of square orthogonal screen (with same dpi in horizontal and vertical directions):
[0082]
[0083] The screen generation module 602 generates a plurality of halftone screens each comprising tiles comprising cells, the cells comprising parallelograms being defined by a first vector having a first length and second vector having a second length, wherein at least one screen comprises non-orthogonal cells. In some examples, the screen generation module 602 generates the plurality of halftone screens such that each screen comprises tiles having a first and a second side length, where the first and the second side length span a non-negative integer number of the first and the second lengths of the cells of that screen. In other words, a tile side length may be defined by projecting a non-negative integer number of the first vector and a non-negative integer number of the second vector into the tile reference frame (which as noted above may be aligned with the print apparatus reference frame).
[0084] The frequency determination module 604 determines for each of a plurality of screens, first and second orthogonal fundamental frequencies using a projection of the first and of the second vector defining the cells of that screen into each axis of a print apparatus reference frame, the first length and the second length, for example as described above in relation to block 206.
[0085] The screen selection module 606 tests each screen for moir effect, for example as described above in relation to block 206. In some examples, in operation, the screen selection module 606 further retains screens which are associated with a moir effect below a threshold and discard screens which are associated with a moir effect above the threshold. For example, this may be as described in relation to block 508 above. In some examples, the screen selection module 606 is to combine a plurality of retained screens and to test the combinations of screens for moir effect; and to discard combinations of screens which are associated with a moir effect above a threshold. As moir effects have a lower and an upper frequency limit for perceptibility, this may comprise discarding those screens or screen combination which are associated with a moir frequency which is in a visible range, for example being greater than zero (or close to zero) but less than an upper frequency associated with the limits of perceptibility of moir patterns. For example, this may be as described in block 510 to 518 above.
[0086] The processing circuitry 600 may carry out any, or any combination of the blocks of
[0087]
[0088] The machine readable medium 700 further comprises instructions 706 which, when executed by the processor 702, cause the processor 702 to determine first and second fundamental frequencies for the halftone screen using a projection of the first and of the second vector into each axis of a print apparatus reference frame, the first length and the second length; and
[0089] The machine readable medium 700 further comprises instructions 708 which, when executed by the processor 702, cause the processor 702 to use the first and second fundamental frequencies to determine if the halftone screen is associated with moir effects.
[0090] In some examples, the machine readable medium 700 further comprises instructions which, when executed by the processor 702, cause the processor 702 to combine a plurality of screens and test the combinations of screens to determine if the screen is associated with moir effects.
[0091] The machine readable medium 700 may comprise instructions which cause the processor to carry out any of the blocks of
[0092] The screen generation module 602, frequency determination module 604 and screen selection module 606 may be implemented with one or a plurality of processors executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. It is noted that in at least one example described herein, the term module refers to a hardware component of the apparatus.
[0093] Examples in the present disclosure can be provided as methods, systems or machine readable instructions, such as any combination of software, hardware, firmware or the like. Such machine readable instructions may be included on a non-transitory machine (for example, computer) readable storage medium (including but is not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
[0094] The present disclosure is described with reference to flow charts and block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. It shall be understood that each flow and/or block in the flow charts and/or block diagrams, as well as combinations of the flows and/or diagrams in the flow charts and/or block diagrams can be realized by machine readable instructions.
[0095] The machine readable instructions may, for example, be executed by a general purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus, or a module thereof, may execute the machine readable instructions. Thus functional modules of the processing circuitry 600 (for example, the screen generation module 602, frequency determination module 604 and screen selection module 606) and devices may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array etc. The methods and functional modules may all be performed by a single processor or divided amongst several processors.
[0096] Such machine readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
[0097] Such machine readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices realize functions specified by flow(s) in the flow charts and/or block(s) in the block diagrams.
[0098] Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
[0099] While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the spirit of the present disclosure. It is intended, therefore, that the method, apparatus and related aspects be limited by the scope of the following claims and their equivalents. It should be noted that the above-mentioned examples illustrate rather than limit what is described herein, and that those skilled in the art will be able to design many alternative implementations without departing from the scope of the appended claims. Features described in relation to one example may be combined with features of another example.
[0100] The word comprising does not exclude the presence of elements other than those listed in a claim, a or an does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
[0101] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.