WO2019182628A1 - Encoding printed grayscale images - Google Patents

Encoding printed grayscale images Download PDF

Info

Publication number
WO2019182628A1
WO2019182628A1 PCT/US2018/037745 US2018037745W WO2019182628A1 WO 2019182628 A1 WO2019182628 A1 WO 2019182628A1 US 2018037745 W US2018037745 W US 2018037745W WO 2019182628 A1 WO2019182628 A1 WO 2019182628A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
value
grayscale
pixels
image
Prior art date
Application number
PCT/US2018/037745
Other languages
French (fr)
Inventor
Robert Ulichney
Matthew D. Gaubatz
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to USPCT/US2018/023340 priority Critical
Priority to PCT/US2018/023340 priority patent/WO2019182567A1/en
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Publication of WO2019182628A1 publication Critical patent/WO2019182628A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/403Discrimination between the two tones in the picture signal of a two-tone original
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/407Control or modification of tonal gradation or of extreme levels, e.g. background level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control

Abstract

In an example method, a dot pattern of pixels including information to be encoded across an image is mapped to a corresponding subset of the grayscale source pixels corresponding to the image to be printed. A value of a grayscale pixel in the subset of the grayscale source pixels is modified based on based on a predetermined threshold pixel value. The value of the grayscale pixel is decreased in response to detecting that the predetermined threshold pixel value is exceeded. The clipping channel color is used to detect the dot pattern of pixels. The image including the subset of pixels with modified values is printed.

Description

ENCODING PRINTED GRAYSCALE IMAGES

BACKGROUND

[0001] Information may be encoded into printed images. For example, the information about when and where the document was printed, and who printed the document.

BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Various features of the techniques of the present application will become apparent from the following description of examples, given by way of example only, which is made with reference to the accompanying drawings, of which:

[0003] Fig. 1 is a schematic diagram illustrating an example method for encoding dot patterns into printed grayscale images based on source pixel intensity;

[0004] Fig. 2 is a schematic diagram illustrating an example method for encoding dot patterns into printed grayscale images using a lookup table;

[0005] Fig. 3 is a chart of an example of a lookup fable for selecting dot values based on source pixel intensity;

[0006] Fig. 4A is an example portion of a grayscale image with a dot pattern encoded using a 50% source pixel intensity threshold;

[0007] Fig. 4B is an example portion of the same grayscale image with a dot pattern encoded using a 70% source pixel intensity threshold;

[0008] Fig. 4C is an example portion of the same grayscale Image with a dot pattern encoded using a lookup fable;

[0009] Fig. 5 is an example grayscale image encoded with a dot pattern based on source pixel intensity;

[0010] Fig. 6 is a process flow diagram illustrating an example method for encoding and printing images with dot patterns using grayscale clipping;

[0011] Fig. 7 is a process flow diagram illustrating an example method for encoding and printing grayscale images with dot patterns using a lookup table;

[0012] Fig. 8 is block diagram of an example computing device to modify and print images with encoded dot patterns based on source pixel intensity; and [0013] Fig. 9 is a block diagram of an example machine-readable storage medium that can be used to modify and print images with encoded dot patterns based on source pixel intensity.

DETAILED DESCRIPTION

[0014] Dot patterns may be used to encode information into printed documents. For example, dot patterns may be used to encode information on documents with minimal visual distraction. As used herein, a dot pattern refers to a pattern in which a relative position of dots is used to encode information. For example, one or more of the dots of a dot pattern of black dots may be shifted from an original uniform pattern and printed on a sheet of paper to indicate the time, date, and serial number of the printer, among other information. The encoded dot patterns may then be detected to retrieve the encoded information. While black dots can be recovered when printed on a white background, the black dot may not be detectable and thus recoverable when printed on backgrounds of black or darker grays. For example, documents having lots of darker shades of black or at all may result in a substantial portion of encoded information being undetectable. Moreover, the dot patterns may be visually distracting when incorporated into some images.

[0015] Described herein are techniques for encoding dot patterns into printed grayscale documents based on source pixel intensity. A digital document can be described as an image, since it is comprised of an array of pixels. An image, as used herein, includes any combination of text, graphics, white, space, and photos in one example, the intensity of each of the dots in the dot pattern as printed out in a grayscale image is based on an original intensity of the source page pixel being replaced. For example, the pixels corresponding to the dots may be clipped.

Grayscale clipping as used herein refers to the setting of a pixel value to a maximum representing white or a zero representing black or some other solid ink color, such as magenta, yellow, cyan, etc. In some examples, suitable replacement intensity values are included in a lookup table to be used to replace source page pixels. The techniques described herein also provide a flexible means for defining dot intensity and background intensity combinations. For example, the lookup table can be used to set specific intensity values to pass without being modified. Thus, pixels corresponding to black areas of text or line drawings may be bypassed to improve readability of the text and the appearance of the line drawings. The techniques described herein enable dot detectability for the entire document while minimizing visibility and intrusiveness of the dots in the pattern. Moreover, the techniques described herein may use existing printing processes and inks to encode a dot pattern that may be recovered regardless of the content on the page. For example, the page content may be empty white space, text, solid areas of color, or even more complex graphic patterns with various shades of a color. In some examples, the dot pattern may be used to deter copying and trace an origin of copied documents.

[0016] Fig. 1 is a schematic diagram illustrating an example method 100 for encoding dot patterns into printed images based on source pixel color. The method 100 of Fig. 1 may be implemented in the computing device 802 of Fig. 8 below or example machine-readable storage medium 900 of Fig 9 below. For example, the method may be implemented using processor 802 or the processor 902.

[0017] The example method 100 includes receiving a set of source document pixels 102. For example, the set of source document pixels 102 may correspond to an image or a document. In some examples, the source document is a grayscale image of a single color and white or black and white

[0018] The method 100 further includes receiving a dot pattern of pixels 104. For example, the dot pattern may be any pattern and may cover the width and length of the source document The set of dot pattern pixels 108 may encode information in some examples, the encoded information is information about a printer, a date, time of printing, etc

[0019] At decision diamond 106, a determination is made as to whether each of the source page pixels corresponds to a dot location. For example, the location of the dots in the dot pattern may be compared one or more pixels at a time with the location of each of the pixels in the source document. The source page may be the same size in terms of number of pixels as the dot pattern. If a source page pixel does not correspond to a dot location, then the method 100 may continue at block 108. If the source page pixel does correspond to a dot location, then the method 100 may continue at block 1 10.

[0020] At block 108, a source pixel is passed unchanged in response to detecting that the source pixel does not correspond to a dot location in the dot pattern. The original intensity value of the source pixel may be passed for printing. For example, in the case of 8-bit pixel values, the intensity value of each pixel may range from 0 to 255. A source pixel with a value of 52 that does not correspond to any dot location may thus be passed with an original value of 52.

[0021] At decision diamond 1 10, a source pixel that is detected as corresponding to a dot location in the dot pattern is compared to a source pixel intensity threshold to determine if the intensity of the source pixel exceeds a source pixel intensity threshold. If the intensity value of the source pixel does not exceed the source pixel intensity threshold, then the method proceeds to block 1 12. At block 112, the value of the source pixel is decreased. For example, the value of the source pixel may be set to zero. A value of zero may correspond to solid black or any other solid printing color, such as cyan, magenta, or yellow.

[0022] If at block 1 10, the intensity value of the source pixel exceeds the source pixel intensity threshold, then the method may proceed to block 1 14. At block 1 14, the value of the source pixel is increased in response to detecting that the intensity of the source pixel does not exceed the source pixel intensity threshold. In some examples, the value of the source pixel may be set to a maximum value. For example, the maximum value may correspond to white.

[0023] In some examples, the pixel intensity threshold may be set at 50% or an intensity value of 128. In some examples, the pixel intensity threshold may be set at 70% or an intensity value of 177. The output of the application of a gray clipping threshold of 50% is shown in Figure 4A and 4C and the output of a gray clipping threshold of 70% is shown in Fig. 4B below.

[0024] At block 1 16, the pixels from blocks 108, 1 14, and 1 12 are combined. For example, the pixels may be combined to form an updated image to be printed.

[0025] At block 1 18, the combined pixel values are printed. For example, the intensity values may be printed onto a white sheet of paper or any ofher suitable medium. Thus, the composite output that contains the original source pixels without dots, and the clipped value source pixels where there were dots, is printed

[0026] It is to be understood that the process diagram of Fig. 1 is not intended to indicate that all of the elements of the method 100 are to be included in every case. Further, any number of additional elements not shown in Fig. 1 may be included in the method 100, depending on the details of the specific implementation. For example, a lookup table may also be used, as described with respect to Fig. 2 below.

[0027] Fig. 2 is a schematic diagram illustrating an example method 200 for encoding dot patterns using a lookup table. The example method 200 of Fig. 2 may be implemented in the computing device 802 of Fig. 8 below or example machine- readable storage medium 900 of Fig. 9 below. For example, the method 200 may be implemented using processor 802 or the processor 902.

[0028] The method 200 of Fig. 2 includes similarly numbered elements from Fig. 1. For example, the set of source page pixels 102 and dot pattern pixels 104 is received, a dot location determination 106 performed, and intensity values not in dot locations passed unchanged 108, as described above in Fig. 1. Flowever, in the method 200 of Fig. 2, if the source page pixel is detected as corresponding to a dot location, then the method 100 may continue at block 202.

[0029] At block 202, an intensity value is set based on the intensity value of the source document pixels 102 corresponding to dot locations in the dot pattern in an example, the lookup table has a column of ail possible intensity values and corresponding replacement values. For example, the possible values may be 0-255, as shown in the example lookup table of Fig. 3 described in detail below. In some examples, the values are predefined based on the source pixel intensity threshold. Some of the values may not be based on the source pixel intensity threshold. For example, source pixels with a value of zero may be passed and not modified to avoid replacing portions of text or line drawings with dots. Placement of dots in the dot pattern into text or line drawings may reduce the readability or diminish the appearance of text or line drawings.

[0030] At block 204, the passed source pixel values and modified source pixel values are combined. For example, the pixel values may be combined to form an updated image to be printed.

[0031] At block 206, the combined pixels are printed. For example, the original source pixel values not corresponding to any dots of the dot pattern, and replaced pixel values corresponding to dots in the dot pattern, may be printed. In some examples, the updated image with the combined pixels may be transmitted to a printer for printing. Along with documents containing text and areas of gray, the systems in Figures 1 and 2 can be applied to any content. An example cropped close-up of a grayscale photograph is shown in Fig. 5 below. The dot pattern can be detected regardless of the values of surrounding pixels.

[0032] Fig. 3 is example of a lookup table for selecting dot values based on source pixel intensity. The example lookup table 300 of Fig 3 may be used by the computing device 802 of Fig. 8 below or example machine-readable storage medium 900 of Fig. 9 below.

[0033] The lookup table 300 includes a set of source pixel intensity values 302 For 8-bit pixel values, the values range from 0 to 255 as shown in the table. In some examples, the source pixels use one color of CMYK process inks or RGB channel components rather than a combination of CMYK or RGB solid colors. The lookup table 300 further includes a corresponding column of dot values for the source pixel values. For example, a source pixel with a value of zero may be assigned a dot value of zero. As described above, this mapping may improve readability and appearance of text and line drawings using source pixels with a value of zero.

Otherwise, in this example, source pixels with a value up to a threshold value of 127 may be set to a maximum value of 255. Thus, the threshold of the example table 300 of Fig. 3 is 50%. In some examples, the threshold is set to 70%. In these examples, the threshold for pixels with 8-bit values is 177. Source pixels with values exceeding the threshold value of 127 may be set to a minimum value of zero, representing black. Such source pixels may be lighter shades of gray or any other shades of solid colors in some examples, the values in the range 0 to 255 may be mapped to a continuum of values in the same range, as opposed to setting the values to an extremum of 0 or 255.

[0034] Using the dot values 304 of Fig. 3, black text and black line drawings may avoid the visual disturbance of white holes due to the dot pattern. Meanwhile, white background and other gray values may still enjoy high contrast dot patterns.

Generally, text and black lines occupy a small percentage of the document area, therefore the tradeoff may be a small loss of rendered dots for improved document visual appearance.

[0035] Fig. 4A is an example portion of a grayscale image with a dot pattern encoded using a 50% source pixel intensity threshold. The example grayscale Image 400A of Fig. 4A may be generated by the computing device 802 of Fig. 8 below or using the example machine-readable storage medium 900 of Fig. 9 below.

[0038] As shown in Fig. 4A, the example grayscale image 400A includes black text 402 and a black line 404. The grayscale image 400A also includes a gray gradient 406 having pixel values ranging from 120 to 134. The grayscale image 40GA includes clipped dots 408 with maximum values, referred to as white dots, and clipped dots 410 with values of zero representing black, referred to as black dots. The grayscale image 400A also includes mixed dots 412 with a mix of dipped values.

[0037] The example grayscale image 400A illustrates an example output using the methods of Figs. 1 and 2 for a 50% source pixel intensity threshold. For the case of 8-bit pixel values, the intensity threshold value T may be 50% x 2s -1 = 127. in some examples, the threshold value may alternatively be implemented by replacing the condition“Source pixel > T?” with“Source pixel MSB = 1 T. Thus, the most significant bit (MSB) may be used in place of a threshold value if the target printer is perfectly linear, where black pixels and white pixels appear the same size when rendered, the printed output would appear similar to the digital version in Figure 4A.

[0038] Fig. 4B is example portion of the same grayscale image of Fig. 4A with a dot pattern encoded using a 70% source pixel intensity threshold. The example grayscale image 400B of Fig. 4B may be generated by the computing device 802 of Fig. 8 below or using example machine-readable storage medium 900 of Fig. 9 below.

[0039] As shown in Fig. 4B, the example grayscale Image 400B includes similarly numbered elements from Fig. 4A above; however, Fig. 4B has less black dots 410 due to the use of a higher 70% source pixel intensity threshold. For example, for 8- bit pixel values, the source pixel intensity threshold value may be 177. In some examples, any other suitable source pixel intensity threshold values may be used.

[0040] In the example grayscale image 400B, none of the dots in the gray gradient 406 are black dots 410 because the threshold is higher than the value of any of the pixels of the gradient 408. For example, the highest pixel value shown in the gradient 406 may be 134, which is less than the threshold value of 177. Thus, only white dots 408 are seen in the gray gradient 406 of the grayscale image 400B. The use of a source pixel intensity threshold value of 70% may be used to offset the effects of printer dot gain. For example, black dots may appear larger than white dots due to ink bleeding of black ink on the print medium. Thus, because of printer dot gain, the phenomenon where black pixels are rendered larger than white pixels and thus shadow area appear disproportiona!ly darker than highlight areas, a threshold larger than 50% can improve the contrast between dot values across all background values. Therefore, the captured versions of the print may have maximum contrast between dot and background for detection. In cases where

/ printer dot gain is expected, the threshold value may accordingly be preset to a larger number than 50%, such as 70% as used in Fig. 4B.

[0041] Fig. 4G is portion of the same grayscale image with a dot pattern encoded using a lookup table. The example grayscale image 400C of Fig. 4C may be generated by the computing device 802 of Fig. 8 below or using example machine- readable storage medium 900 of Fig. 9 below. The grayscale image 400G may have been generated using the lookup table described in Fig. 3 above.

[0042] As shown in Fig. 4C, the example grayscale image 400C includes similarly numbered elements from Fig. 4A above. However, in Fig. 4C, the text 402 and the line 404 do not include any dots of the dot pattern encoded into the grayscale image 400C.

[0043] The example grayscale image 400G may have been generated using the lookup table of Fig. 3 above. The output in the example of Fig. 4G is very similar to Fig. 4A, but the text and black lines are not broken up by the white holes of the dot pattern in particular, for intensity values of zero, such as the text 402 and line 404, the resulting dot pixel value may also be zero according to the lookup table of Fig 3. Thus, no dots appear in the text 402 or the line 404, resulting in text that is easier to read and a line that is not broken.

[0044] The dot pattern in Figures 4A-4C is just one example of the type of pattern that can be overlaid onto a document. The pattern can be generated from a clustered-dot halftone of a fixed gray level, with data represented by shifts of the dot clusters in some examples, the spacing or density of the dots can be controlled by size of the halftone cells. The size of the dot can be controlled by the choice of the fix gray level that is halftoned.

[0045] Fig. 5 is an example grayscale image encoded with a dot pattern based on source pixel intensity. The example image 500 of Fig. 5 may be generated by the computing device 802 of Fig. 8 below or the example machine-readable storage medium 900 of Fig. 9 below using the methods 600 or 700 of Figs. 6 and 7 below.

[0046] As shown in Fig. 5, the image 500 is a cropped close up view of mountains. The image 500 Includes encoded white dots 402 with maximum values corresponding to white and black dots 404 with values of zero corresponding to black. The image 500 also includes encoded mixed dots 412 having a mix of pixel values depending on the underlying pixel values in the original image used to generate the image 500. in some examples, the image may have been encoded using either the grayscale clipping method 100 of Fig 1 above and Fig 6 below or the lookup table method of Fig 2 above and Fig 7 below The image 500 may have been encoded using a 50% source pixel intensity threshold

[0047] Fig. 6 is a process flow diagram illustrating an example method for encoding and printing images with dot patterns using grayscale clipping. The method 600 of Fig. 6 may be implemented in the computing device 802 of Fig. 8 below or example machine-readable storage medium 900 of Fig. 9 below. The method 1000 may be implemented using processor 802 or the processor 902

[0048] At block 602, a dot pattern of pixels including information to be encoded across an image are mapped to a corresponding subset of grayscale source pixels corresponding to the image to be printed. A source page and a dot pattern image are compared one region at a time to match a corresponding subset of source pixels to the dot pattern of pixels. For example, the region may be a single pixel or grouping of pixels. The size of the dot pattern of pixels may be the same size as a source document page of the set of source pixels. In some examples, the grayscale source pixels may be shades of one color such as black, blue, red, magenta, cyan, yellow, etc.

[0049] At block 604, a value of a grayscale pixel in the subset of the grayscale source pixels is modified based on a predetermined threshold pixel value. For example, the value of the grayscale pixel may be decreased in response to detecting that the predetermined threshold pixel value is exceeded in some examples, the value of the grayscale pixel may be decreased to a value of zero. In some examples, the value of the grayscale pixel is increased in response to detecting that the predetermined threshold pixel value is not exceeded. For example, the value of the grayscale may be increased to a maximum value in some examples, the predetermined threshold pixel value may be greater than half of a highest pixel value to compensate for a printer dot gain.

[0050] At block 606, the image including the subset of pixels with modified values is printed. The image may be printed onto any suitable medium, such as a white sheet of paper. The dot pattern of pixels may then be detected in order to retrieve information encoded therein information from the detected dot pattern of pixels may then be extracted from the detected dot pattern.

[0051] It is to be understood that the process diagram of Fig. 6 is not intended to indicate that all of the elements of the method 600 are to be included in every case. Further, any number of additional elements not shown in Fig. 6 may be included in the method 600, depending on the details of the specific implementation. For example, a set of color pixels may be received and a color channel from the color pixels may be selected to obtain the grayscale source pixels.

[0052] Fig. 7 is a process flow diagram illustrating an example method for encoding and printing grayscale Images with dot patterns using a lookup table. The method of Fig. 7 is generally referred to by the reference number 700 and may be implemented in the computing device 802 of Fig. 8 below or example machine- readable storage medium 900 of Fig. 9 below. The method may be implemented using processor 802 or the processor 902.

[0053] At block 702, a set of source pixels corresponding to an image to be printed is received and a dot pattern of pixels including information to be encoded across the image. The image may be a grayscale image or a document containing both black text and grayscale images. In some examples, the information includes printer information, a date, time, who printed it, a transaction code, a document identifier, network statistics, user-driven measurements, among other information. Alternatively, or in addition, the stored data in the dot pattern can be a linked to a database pointing to this information.

[0054] At block 702, the dot pattern of pixels is mapped to a corresponding subset of grayscale source pixels. For example, a source page and a dot pattern image may be compared one region at a time to match a corresponding subset of source pixels to the dot pattern of pixels. For example, the region may be a pixel or a grouping of pixels.

[0055] At block 704, a value of a grayscale pixel in the subset of grayscale source pixels is modified with a replacement value corresponding to an intensity of a grayscale pixel in a lookup table. In some examples, the value of the grayscale pixel is set to a maximum value or any other increased value as found in the lookup table for grayscale pixel values not exceeding a threshold value in these examples, the value of the grayscale pixel is set to zero or any other decreased value as found in the lookup table for grayscale pixel values exceeding the threshold value. In some examples, one or more of the grayscale pixel values in the lookup table are set to a custom value. For example, the value of zero may be set to be replaced with the same value of zero and thus not modified. Thus, line drawings and text using grayscale pixel values of zero may not include any dot patterns in order to prevent breaking up continuous lines. The line drawings and text may therefore be more easily read. In some examples, the grayscale pixel values may be mapped to a continuum of values in the range 0 to 255 For example, the grayscale pixel values may be mapped without definitions of any explicit (hard) thresholds.

[0056] At block 706, the image including the subset of pixels with modified values is printed. The image may be printed onto any suitable medium, such as a white sheet of paper. The dot pattern of pixels may then be detected in order to retrieve information encoded therein information from the detected dot pattern of pixels may be extracted from the detected dot pattern. The information may thus be encoded and extracted using the dot patterns without affecting the readability of line drawings or text within the printed grayscale image.

[0057] It is to be understood that the process diagram of Fig. 7 is not intended to indicate that all of the elements of the method 700 are to be included in every case. Further, any number of additional elements not shown in Fig. 7 may be included in the method 700, depending on the details of the specific implementation. For example, a set of color pixels may be received and a color channel from the color pixels may be selected to obtain the grayscale source pixels.

[0058] Fig. 8 is a block diagram of an example computing device 802 to modify and print images with encoded dot patterns based on source pixel color. The computing device 802 may be a printing device. The computing device 802 may include a processor 804, memory 806, a machine-readable storage 808, and a network interface 810 to connect computing system 802 to network 812. The network interface 810 may be a network interface card (NIC)

[0059] In some examples, the processor 804 may be a main processor that is adapted to execute the stored instructions. Moreover, more than one processor 804 may be employed. The processor 804 may be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations. The processor 804 may be implemented as Complex instruction Set Computer (CISC) or Reduced Instruction Set Computer (RISC) processors, x86 Instruction set compatible processors, ARMv7 instruction set compatible processors, multi-core, or any other microprocessor or central processing unit (CPU) in some examples, the computing device 800 may use an ASIC, FPGA or GPU to process video images instead of, or in addition to, the processor 804. [0060] The memory 806 may be one or more memory devices. The memory 806 may be volatile memory or nonvolatile memory. In some examples, the memory 806 may include random access memory (RAM), cache, read only memory (ROM), flash memory, and other memory systems.

[0061] The storage 808 is machine-readable storage and may include volatile and nonvolatile memory. The machine-readable storage 808 may be electronic, magnetic, optical, or other physical storage device that stores executable instructions (e.g , code, logic). Thus, the machine-readable storage 808 medium may be, for example, RAM, an Electrically-Erasable Programmable Read-Only Memory

(EEPROM), a storage drive such as a hard drive or solid state drive (SSD), an optical disc, and the like. The storage 808 may also include storage or memory external to the computing device 802. Moreover, as described below, the machine- readable storage medium 808 may be encoded with executable instructions (e.g., executed by the one or more processors 804) for prioritizing data. For example, the machine-readable storage medium 808 may be encoded with executable instructions for modifying and printing images with encoded dot patterns based on source pixel color.

[0062] A network interface controller (NIC) 810 may couple the computing system 802 to a network 812. For example, the NIC 810 may connect computing system 802 to a local network 812, a virtual private network (VPN), or the internet. The NIC 810 may include an Ethernet controller in some examples, the network includes a database (not shown). For example, the database may include information to be encoded as dot patterns.

[0063] The storage device 808 may include a receiver 814, a pattern mapper 816, a pixel modifier 818, and a printer 820. The receiver 814 may receive a set of grayscale source pixels corresponding to an image to be printed and a dot pattern of pixels including information to be encoded across the image. The pattern mapper 816 may map the dot pattern of pixels to a corresponding subset ot the grayscale source pixels. The pixel modifier 818 may modify a value of a grayscale pixel in the subset of the grayscale source pixels based on a predetermined threshold pixel value. The predetermined threshold pixel value may be greater than half of a highest pixel value to compensate for a printer dot gain in some examples, pixel modifier 818 may set the value of the grayscale pixel to zero in response to detecting that the predetermined threshold pixel value is exceeded in some examples, the pixel modifier 818 may increase the value of the grayscale pixel in response to detecting that the predetermined threshold pixel value is not exceeded. For example, the value of the grayscale pixel may be increase to a maximum pixel value in some examples, the pixel modifier 818 may pass the value of a second grayscale pixel corresponding to the subset of grayscale source pixels without modification in response to detecting that the value of the grayscale source pixel is zero. In some examples, a lookup table to be used by the pixel modifier 818 to determine a replacement value for the grayscale pixel. For example, the lookup table may be generated at least in part based on the predetermined threshold pixel value and stored on the storage device 808 as described above. In some examples, one or more of the values in the lookup table may be modifiable. For example, the value of zero may be kept at zero to pass pixels that are part of text or line drawings without modification. In some examples, the grayscale pixel values may be mapped to a continuum of output values. For example, there may be no explicit (hard) threshold pixel values.

[0064] The receiver 814, pattern mapper 816, and pixel modifier 818 may be instructions (e.g., code, logic, etc.) stored in the machine- readable storage 808 and executed by the processor 804 or other processor to direct the computing device 800 to implement the aforementioned actions as described above.

[0065] The storage 808 may also include generated lookup tables used to select replacement values for dot patterns. The storage 808 may also further include one or more dot patterns to be encoded into printed grayscale documents.

[6066] The computing device 802 may also include circuitry 820. In some examples, the receiver 814, pattern mapper 816, and pixel modifier 818 may be implemented in the circuitry 820. For example, the circuitry 820 may include application-specific integrated circuits (ASICs) in other words, one or more ASICs may be customized for the aforementioned actions implemented via the receiver 814, pattern mapper 816, and pixel modifier 818. In some examples, the circuitry 820 may include one or more field-programmable gate arrays (FPGAs).

[6067] The computing device 802 may include a printer interface 822 connecting the computing device 802 to a printer 824. In some examples, the printer interface 822 may be built into the printer 824. The printer 824 may print images including the subset of pixels with modified values. [0068] The block diagram of Fig. 8 is not intended to indicate that the computing device 802 is to include ail of the components shown in Fig. 8. Further, the computing device 802 may include any number of additional components not shown in Fig. 8, depending on the details of the specific implementation.

[0069] Fig. 9 is a block diagram of an example machine-readable storage medium that can be used to modify and print images with encoded dot patterns based on source pixel color. The machine-readable medium is generally referred to by the reference number 900. The machine-readable medium 900 may include RAM, a hard disk drive, an array of hard disk drives, an optical drive, an array of optical drives, a non-volatile memory, a flash drive, a digital versatile disk (DVD), or a compact disk (CD), among others. The machine-readable storage medium 900 may be accessed by a processor 902 over a bus 904. The processor 902 may be a processor of a computing device, such as the processor 804 of Fig 8. in some examples, the processor 902 may be a graphics processing unit (GPU).

Furthermore, as indicated, the machine-readable medium 900 may include code configured to perform the methods and techniques described herein. The various logic components discussed herein may be stored on the machine-readable medium 900. Portions 906, 908, 910, and 912 of the machine-readable storage medium 900 may include receiver module code, pattern mapper module code, pixel modifier module code, and printer module code, respectively, which may be executable code, or machine readable instructions, that direct a processor or controller in performing the techniques discussed with respect to the preceding figures.

[0070] The various logic (e.g., instructions, code) components discussed herein may be stored on the tangible, non-transitory machine-readable medium 900 as indicated in Fig. 9. For example, the machine-readable medium 900 may include the receiver module 906 that, when executed by a processor, directs the processor or a computing device to receive a set of grayscale source pixels corresponding to an image to be printed and a dot pattern of pixels including information to be encoded across the image.

[0071] The machine-readable medium 900 may also include the pattern mapper module 908 that, when executed by a processor, directs the processor or a computing device to map the dot pattern of pixels to a corresponding subset of the grayscale source pixels. The machine-readable medium 900 may include the pixel modifier module 910 that, when executed by a processor, directs the processor or a computing device to modify a value of a grayscale pixel in the subset of the grayscale source pixels based on a predetermined threshold pixel value. The value of the grayscale pixel is to be decreased in response to detecting that the

predetermined threshold pixel value is exceeded. For example, the value ot the grayscale pixel may be decreased to zero.

[0072] The pixel modifier module 910 may also direct the processor or a computing device to increase the value of the grayscale pixel in response to detecting that the predetermined threshold pixel value is not exceeded. For example, the value of the grayscale pixel may be increased to a maximum value.

The pixel modifier module 910 may also direct the processor or a computing device to set the predetermined threshold pixel value greater than halt of a highest pixel value to compensate for a printer dot gain. The pixel modifier module 910 may also direct the processor or a computing device to pass a value of a second grayscale pixel corresponding to the subset of grayscale source pixels in response to detecting that the value of the grayscale source pixel is zero.

[0073] The pixel modifier module 910 may also direct the processor or a computing device to use a lookup table to determine a replacement value for the grayscale pixel. For example, the lookup table may include one or more

replacement values for the pixels that are based on the predetermined threshold pixel values in some examples, the lookup table may include customized values for particular pixel values. For example, the pixel value of zero representing black may be set to be replaced with black to improve readability of text and line drawings. The machine-readable medium 900 may include a printer module 912 that, when executed by a processor, direct the processor or a computing device to print the image including the subset of pixels with modified values in some examples, the machine-readable medium 900 may include a dot detector module (not shown) that, when executed by a processor, directs the processor or a computing device to receive a copy of the printed image, detect the dot pattern of pixels, and extract information from the detected dot pattern of pixels. Although shown as contiguous blocks, the logic components may be stored in any order or configuration. For example, if the machine-readable medium 900 is a hard drive, the logic components may be stored in non-contiguous, or even overlapping, sectors.

[0074] While the present techniques may be susceptible to various modifications and alternative forms, the examples discussed above have been shown only by way of example. It is to be understood that the technique is not intended to be limited to the particular examples disclosed herein. Indeed, the present techniques include al alternatives, modifications, and equivalents falling within the true spirit and scope of the appended claims.

Claims

What is claimed is:
1. A method comprising:
mapping a dot pattern of pixels comprising information to be encoded across an image to a corresponding subset of grayscale source pixels corresponding to the image;
modifying a value of a grayscale pixel in the subset of the grayscale source pixels based on a predetermined threshold pixel value, wherein the value of the grayscale pixel is decreased in response to detecting that the predetermined threshold pixel value is exceeded; and
printing the image comprising the subset of pixels with modified values.
2. The method of claim 1 , wherein the predetermined threshold pixel value is greater than half of a highest pixel value to compensate for a printer dot gain.
3. The method of claim 1 , wherein the value of the grayscale pixel is increased in response to detecting that the predetermined threshold pixel value is not exceeded
4. The method of claim 1 , comprising passing a value of a second grayscale pixel corresponding to the subset of grayscale source pixels without modification in response to detecting that the value of the grayscale source pixel is zero.
5. The method of claim 1 , wherein modifying the value of the grayscale pixel comprises using a lookup table to determine a replacement value for the grayscale pixel.
6. An apparatus comprising:
a receiver to receive a set of grayscale source pixels corresponding to an image to be printed and a dot pattern of pixels comprising information to be encoded across the image; a pattern mapper to map the dot pattern of pixels to a corresponding subset of the grayscale source pixels;
a pixel modifier to modify a value of a grayscale pixel in the subset of the grayscale source pixels based on a predetermined threshold pixel value, wherein the value of the grayscale pixel is to be decreased in response to detecting that the predetermined threshold pixel value is exceeded; and
a printer to print the image comprising the subset of pixels with modified values.
7. The apparatus of claim 8, wherein the predetermined threshold pixel value is greater than half of a highest pixel value to compensate for a printer dot gain.
8. The apparatus of claim 6, wherein the pixel modifier is to increase the value of the grayscale pixel in response to detecting that the predetermined threshold pixel value is not exceeded.
9. The apparatus of claim 8, wherein the pixel modifier is to pass the value of a second grayscale pixel corresponding to the subset of grayscale source pixels without modification in response to defecting that the value of the grayscale source pixel is zero.
10. The apparatus of claim 6, comprising a lookup table to be used to determine a replacement value for the grayscale pixel.
1 1. A non-transitory machine-readable storage medium encoded with instructions executable by a processor, the machine- read able storage medium comprising instructions to direct the processor to:
receive a set oi grayscale source pixels corresponding to an image to be printed and a dot pattern of pixels comprising information to be encoded across the image;
map the dot pattern of pixels to a corresponding subset of the grayscale source pixels; modify a value of a grayscale pixel in the subset of the grayscale source pixels based on a predetermined threshold pixel value, wherein the value of the grayscale pixel is to be decreased in response to detecting that the predetermined threshold pixel value is exceeded; and
print the image comprising the subset of pixels with modified values.
12. The non-transitory machine-readable storage medium of claim 1 1 , comprising instructions to direct the processor to set the predetermined threshold pixel value greater than half of a highest pixel value to compensate for a printer dot gain.
13. The non-transitory machine-readable storage medium of claim 1 1 , comprising instructions to direct the processor to increase the value of the grayscale pixel in response to detecting that the predetermined threshold pixel value is not exceeded
14. The non-transitory machine-readable storage medium of claim 1 1 , comprising instructions to direct the processor to pass a value of a second grayscale pixel corresponding to the subset of grayscale source pixels in response to detecting that the value of the grayscale source pixel is zero.
15. The non-transitory machine-readable storage medium of claim 1 1 , further comprising instructions to direct the processor to use a lookup table to determine a replacement value for the grayscale pixel.
PCT/US2018/037745 2018-03-20 2018-06-15 Encoding printed grayscale images WO2019182628A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
USPCT/US2018/023340 2018-03-20
PCT/US2018/023340 WO2019182567A1 (en) 2018-03-20 2018-03-20 Encoding dot patterns into printed images based on source pixel color

Publications (1)

Publication Number Publication Date
WO2019182628A1 true WO2019182628A1 (en) 2019-09-26

Family

ID=67986517

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/US2018/023340 WO2019182567A1 (en) 2018-03-20 2018-03-20 Encoding dot patterns into printed images based on source pixel color
PCT/US2018/037745 WO2019182628A1 (en) 2018-03-20 2018-06-15 Encoding printed grayscale images
PCT/US2018/037747 WO2019182629A1 (en) 2018-03-20 2018-06-15 Encoding information using disjoint highlight and shadow dot patterns

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/US2018/023340 WO2019182567A1 (en) 2018-03-20 2018-03-20 Encoding dot patterns into printed images based on source pixel color

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US2018/037747 WO2019182629A1 (en) 2018-03-20 2018-06-15 Encoding information using disjoint highlight and shadow dot patterns

Country Status (1)

Country Link
WO (3) WO2019182567A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060072781A1 (en) * 2004-09-28 2006-04-06 Harrington Steven J Encoding invisible electronic information in a printed document
US20150371124A1 (en) * 2014-06-19 2015-12-24 Seiko Epson Corporation Image processing apparatus and image processing program
US20160364825A1 (en) * 2015-06-12 2016-12-15 Shaoher Pan Watermark image code

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5323245A (en) * 1990-09-14 1994-06-21 Minnesota Mining And Manufacturing Company Perpendicular, unequal frequency non-conventional screen patterns for electronic halftone generation
US6618117B2 (en) * 1997-07-12 2003-09-09 Silverbrook Research Pty Ltd Image sensing apparatus including a microcontroller
US5946414A (en) * 1998-08-28 1999-08-31 Xerox Corporation Encoding data in color images using patterned color modulated image regions
US6937365B2 (en) * 2001-05-30 2005-08-30 Polaroid Corporation Rendering images utilizing adaptive error diffusion
JP4916059B2 (en) * 2001-07-31 2012-04-11 キヤノン株式会社 Image processing device
US20050259280A1 (en) * 2004-05-05 2005-11-24 Kodak Polychrome Graphics, Llc Color management of halftone prints
US8064637B2 (en) * 2008-08-14 2011-11-22 Xerox Corporation Decoding of UV marks using a digital image acquisition device
US8416458B2 (en) * 2009-11-04 2013-04-09 Xerox Corporation Rotated halftone screen geometry that avoids beat-based banding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060072781A1 (en) * 2004-09-28 2006-04-06 Harrington Steven J Encoding invisible electronic information in a printed document
US20150371124A1 (en) * 2014-06-19 2015-12-24 Seiko Epson Corporation Image processing apparatus and image processing program
US20160364825A1 (en) * 2015-06-12 2016-12-15 Shaoher Pan Watermark image code

Also Published As

Publication number Publication date
WO2019182629A1 (en) 2019-09-26
WO2019182567A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
US8644602B2 (en) Colour correcting foreground colours for visual quality improvement
US9734439B2 (en) Image processing apparatus and method thereof
JP2500837B2 (en) Pixel value quantization method
US5396584A (en) Multi-bit image edge enhancement method and apparatus
US8705140B2 (en) Systems and methods for dynamic sharpness control in system using binary to continuous tone conversion
US7920297B2 (en) System and method for printing using variable-density white ink under-printed layer
US8717629B2 (en) Image-processing device
JP3844791B2 (en) A method for adjusting the density of digital images.
US7227661B2 (en) Image generating method, device and program, and illicit copying prevention system
JP4471062B2 (en) Adaptive image enhancement filter and method of generating enhanced image data
JP4087528B2 (en) Method of detecting pixels from which aliases are removed in rasterized image data
US7961905B2 (en) Encoding invisible electronic information in a printed document
US7924469B2 (en) Image processing apparatus, image processing method, and program
US7567355B2 (en) Image reader and copier preventing unauthorized reading and copying
US8374432B2 (en) Image processing apparatus, image forming apparatus, image processing method, and computer program product
US6227725B1 (en) Text enhancement for color and gray-scale documents
US7450268B2 (en) Image reproduction
JP2009268081A (en) Infrared watermarking method and infrared mark
EP0673000B1 (en) Pixel correction and smoothing method
US7352490B1 (en) Method and system for generating contone encoded binary print data streams
JP3647405B2 (en) Image processing apparatus and image processing method
EP0493091A1 (en) Method and system for embedding machine readable digital data in grayscale images
US20030188659A1 (en) Method and apparatus for reproducing a color image based on monochrome images derived therefrom
JP2004320701A (en) Image processing device, image processing program and storage medium
JP4890974B2 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18910776

Country of ref document: EP

Kind code of ref document: A1