WO2022093201A1 - Determination of image characteristics - Google Patents
Determination of image characteristics Download PDFInfo
- Publication number
- WO2022093201A1 WO2022093201A1 PCT/US2020/057549 US2020057549W WO2022093201A1 WO 2022093201 A1 WO2022093201 A1 WO 2022093201A1 US 2020057549 W US2020057549 W US 2020057549W WO 2022093201 A1 WO2022093201 A1 WO 2022093201A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- image
- print mechanism
- pixels
- data store
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32106—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1822—Analysing the received data before processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3243—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of type information, e.g. handwritten or text document
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3256—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document colour related metadata, e.g. colour, ICC profiles
Definitions
- Printers such as laser printers, may process image data associated with an image to print the image.
- the printers may deposit printing agent, such as toner, on print media based on the processed image data.
- FIG. 1 depicts a block diagram of an example apparatus that may determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store;
- FIG. 2 shows a block diagram of an example system within which the example apparatus depicted in FIG. 1 may be implemented
- FIG. 3 shows a diagram of an example pixel window associated with an image to be printed
- FIG. 4A shows a table of example characteristics associated with an image that may be determined based on pixels in a pixel window
- FIG. 4B shows a table of example characteristics that may be selected among the determined characteristics depicted in FIG. 4A;
- FIG. 5 shows a flow diagram of an example method for selecting characteristics, among a plurality of characteristics associated with an image, based on a print mechanism and writing the selected characteristics to a data store; and
- FIG, 6 depicts a block diagram of an example non-transitory computer-readable medium that may have stored thereon computer-readable instructions to process pixels of a pixel window associated with an image to determine a plurality of characteristics of the image, select a characteristic or a combination of characteristics among the plurality of characteristics based on a user configuration, and store the selected characteristic or the combination of characteristics in a data store.
- the terms “a” and “an” are intended to denote at least one of a particular element.
- the term “includes” means includes but not limited to, the term “including” means including but not limited to.
- the term “based on” means based at least in part on.
- a print mechanism (also referred to as an engine or a print engine) may be able to modify and/or optimize operating parameters for printing an image when certain characteristics of the image to be printed are known. For instance, the print mechanism may optimize fusing control, toner placement, page rotations, and/or the like, based on the certain characteristics of the image to be printed.
- the characteristics of the image used to modify and/or optimize the operating parameters of the print mechanism may include average toner coverage, toner coverage ratios, maximum toner coverage, various types of classifications, and/or the like.
- some solutions to determine the characteristics of the image may have certain deficiencies.
- some software/firmware based solutions for creating output maps may have reduced accuracy because a subset of the pixels is sampled rather than all of the pixels being processed. The sampling may be done because of a lack of compute power to process all pixels through the software/firmware.
- hardware based solutions may be implemented, however these solutions may be for a single algorithm or a single map type, and thus may lack flexibility for different types of print mechanisms.
- a processor may be a dedicated hardware implemented to process image data, for instance a contone image.
- the processor may be an application-specific integrated circuit (ASIC) implemented to process contone pixels in a pixel window.
- ASIC application-specific integrated circuit
- the processor may process the pixels more efficiently than may be possible via the firmware/software.
- the processor may provide a smaller, more manageable set of data to convey the characteristics of the image to the firmware.
- the processor may determine a plurality of characteristics for the image, such as maximum toner coverage, average toner coverage, toner coverage ratio, several types of classifications, and/or the like.
- the processor may generate data that may include selected characteristics among the plurality of characteristics for a particular print mechanism, which may be packed into words that may be programmable by a user to support a particular type of engine.
- the processor may write the data to a data store by a direct memory access (DMA) engine.
- DMA direct memory access
- a firmware for the print mechanism may retrieve the data associated with the print mechanism from the data store, and may use the retrieved data to modify and/or optimize the operating parameters of the print mechanism to print the image.
- the firmware/software for a print mechanism may be allowed to operate on a much smaller dataset, thereby improving efficiency/speed and reducing energy consumption by the printer. Due to the smaller dataset, the firmware/software may traverse data in multiple directions to consider late page rotations that may be selected at print time, which may improve print quality and reduce costs for printing/reprinting the image. Adding the flexibility of a programmable output map, which may include a set of customized characteristics for a particular type of print mechanism, may enable the processor to provide image characteristics for different types of print mechanisms, thereby reducing costs associated with fabricating customized hardware for different types of print mechanisms.
- FIG. 1 depicts a block diagram of an example apparatus that may determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store.
- FIG. 2 shows a block diagram of an example system within which the example apparatus depicted in FIG. 1 may be implemented.
- FIG. 3 shows a diagram of an example pixel window associated with an image to be printed.
- FIG. 4A shows a table 400 of example characteristics associated with an image that may be determined based on pixels in a pixel window.
- FIG. 4B shows a table 402 of example characteristics that may be selected among the determined characteristics depicted in FIG. 4A. It should be understood that the apparatus 100 depicted in FIG.
- the system 200 depicted in FIG. 2, the pixel window 300 depicted in FIG. 3, the determined characteristics in the table 400 depicted in FIG. 4A, and/or the selected characteristics in the table 402 depicted in FIG. 4B may include additional features and that some of the features described herein may be removed and/or modified without departing from the scopes of the apparatus 100, the system 200, the pixel window 300, and/or the characteristics included in the tables 400 and 402.
- the apparatus 100 may be implemented in a printer, such as a laser printer, a photo printer, or the like. As shown, the apparatus 100 may include a processor 102 and a non-transitory computer-readable medium, e.g., a memory 110.
- the processor 102 may be a semiconductor-based microprocessor, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and/or other hardware device.
- the apparatus 100 is depicted as having a single processor 102, it should be understood that the apparatus 100 may include additional processors and/or cores without departing from a scope of the apparatus 100 and/or system 200.
- references to a single processor 102 as well as to a single memory 110 may be understood to additionally or alternatively pertain to multiple processors 102 and/or multiple memories 110.
- the memory 110 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
- the memory 110 may be, for example, Read Only Memory (ROM), flash memory, solid state drive, Random Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, or the like.
- ROM Read Only Memory
- RAM Random Access memory
- EEPROM Electrically Erasable Programmable Read-Only Memory
- the memory 110 may be integrated in the processor 102, which may contain or store executable instructions, for instance in an ASIC.
- the memory 110 may be a non-transitory computer-readable medium. The term “non-transitory” does not encompass transitory propagating signals.
- the processor 102 may execute instructions 112-118 to determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store.
- the instructions 112-118 may be computer-readable instructions, e.g., non- transitory computer-readable instructions.
- the apparatus 100 may include hardware logic blocks or a combination of instructions and hardware logic blocks to implement or execute functions corresponding to the instructions 112-118.
- the processor 102 may fetch, decode, and execute the instructions 112 to receive a pixel window 204 associated with an image 202 to be printed.
- the pixel window 204 may have a predetermined width and a predetermined depth, which may be measured in pixels.
- the pixel window 204 depicted in FIG. 3 may have a size that is 32 pixels wide and 32 pixels deep. In this instance, the pixel window 204 may have a total of 1024 pixels that may represent an area on the image 202 to be printed.
- the image 202 may be formed of a plurality of pixel windows 204.
- Each of the plurality of pixel windows 204 may be positioned adjacent to another pixel window 204, and may correspond to respective areas on the image 202.
- the plurality of pixel windows 204 may be positioned on the image without overlapping each other.
- the processor 102 may sequentially receive each of the plurality of pixel windows 204 for separate processing, or alternatively or additionally, the processor 102 may simultaneously receive multiple pixel windows 204 for simultaneous processing.
- the pixel window 204 is depicted as having a predetermined dimension, it should be understood that the size/dimension of the pixel window 204 may be different than the values described herein and may be based on, for instance, the implementation of the processor 102, memory 110, and/or the like.
- the processor 102 may fetch, decode, and execute the instructions 114 to process each pixel in the pixel window 204 to determine a plurality of characteristics 206 associated with the image 202.
- the processor 102 may be implemented as a hardware block that may be dedicated to handle the relatively data intensive portion of image processing.
- the processor 102 may be implemented in an ASIC that may be dedicated to handle processing of the pixel windows 204 to identify the characteristics 206 of the image 202.
- the processor 102 may be implemented separately from a firmware 208 for a predetermined print mechanism 210, and may be dedicated to processing the pixel windows 204 to generate data that may be used by the firmware 208 for optimizing the printing process.
- the firmware 208 may be implemented on a processor that is separate from the processor 102, and may be implemented on a semiconductor-based microprocessor, a CPU, an ASIC, an FPGA, and/or other hardware device.
- the processor 102 may divide the pixel window 204 into a predetermined number of blocks of pixels, as depicted in FIG. 3 by numerals 1 to 16.
- the processor 102 may divide each block of pixels 1 to 16 to have a predetermined size and a predetermined number of pixeis.
- each of the blocks of pixels 1 to 16 may be 8 pixels wide by 8 pixels deep, having 64 pixels in total.
- the processor 102 may sequentially process each row of pixels as depicted by the arrows in FIG. 3.
- the processor 102 may process the pixel window 204 in multiple directions by processing the different blocks of pixels 1 to 16, for instance, in a horizontal direction or a vertical direction. Alternatively or additionally, the processor 102 may sequentially process each column of pixels in each of the blocks of pixels 1 to 16 in a vertical direction.
- the processor 102 may process each of the predetermined number of blocks of pixels 1 to 16 to determine the plurality of characteristics 206 associated with the image 202. For instance, each pixel in the pixel window 204 may have information related to the plurality of characteristics 206 of the image 202. The processor 102 may process the information in each pixel to determine the plurality of characteristics 206 associated with the image 202.
- the table 400 illustrates the plurality of characteristics 206 associated with the image 202, in which data for each characteristic may have a different size (in bits).
- the processor 102 may determine the plurality of characteristics 206 from the pixel window 204, which may include a first characteristic 1 to an N th characteristic N.
- the data representing each of the characteristics 1 to N may have a respective predetermined size.
- the plurality of characteristics 206 may include the average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or the like, and data for each of these characteristics may have a respective predetermined size.
- the average toner coverage may be a sum of toner values in all 1024 pixeis in the pixel window 204 divided by 1024, and the data size for the average toner coverage may be 8 bits.
- the toner coverage ratio may be a sum of all non-zero pixels of the 1024 possible pixels in the pixel window 204, and the data size for the toner coverage ratio may be 6 bits.
- the maximum toner coverage (also referred to herein as max ink) may be a toner value of a single pixel among all pixels in the pixel window 204 that is the highest value, and the data size for the maximum toner coverage may be 4 bits.
- the consecutive pixel count may be a count of consecutive pixels that have data, for instance, a greatest number of consecutive pixels found in the pixel window 204 or a total count of consecutive pixel counts that meet a minimum threshold count. For instance, in case the threshold count is set to 4, the total count may be incremented when there are 4 consecutive pixels within a specified tolerance. Consecutive pixels may be in either the vertical or the horizontal direction.
- the processor 102 may store data for an entire pixel window 204, for instance a 32x32 pixel window, and the data size for each classification may be 6 bits.
- the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data. For the blocks of pixels 1 to 16, the processor 102 may reset at a top (or bottom) of each column of blocks of pixels, count a change down (or up), add all column changes together, and divide by 16 for a result of 64 possible levels for the vertical classification.
- the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data. For the blocks of pixels 1 to 16, the processor 102 may reset at a left (or right) of each column of blocks of pixels, count a change across (left or right), add all row changes together, and divide by 16 for a result of 64 possible levels for the horizontal classification.
- the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data.
- the processor 102 may calculate a value for the full classification based on a sum of the vertical classification and the horizontal classification, and dividing the sum by 2.
- the plurality of characteristics 206 may include additional characteristics associated with the image 202 or some of the characteristics may be removed. Furthermore, while specific values are provided herein for the data size and the type of data that is captured for the plurality of characteristics 206, it should be understood that the plurality of characteristics 206 are not so limited and different data sizes and/or types of data may be captured for the plurality of characteristics 206.
- the processor 102 may fetch, decode, and execute the instructions 116 to select characteristics 212 among the plurality of characteristics 206, in which the selected characteristics 212 may be associated with a predetermined print mechanism 210.
- the processor 102 may access a user configuration 214 to identify the selected characteristics 212 among the plurality of characteristics 206.
- the user configuration 214 may be associated with the print mechanism 210 and may be used to identify the selected characteristics 212 associated with the print mechanism 210.
- the user configuration 214 may be stored in the memory 110.
- the user configuration 214 may be stored in a data store 216, in a data store 218 at a server 220, with which the apparatus 100 may be in communication via a network 222, and/or the like.
- the data store 218 at the server 220 may be implemented to store the selected characteristics 212, the image 202, the pixel window 204, the firmware 208, the print mechanism 210, and/or the like.
- the processor 102 may fetch, decode, and execute the instructions 118 to store the selected characteristics 212 in the data store 216, in which the firmware 208 for the predetermined print mechanism 210 may access the selected characteristics 212 from the data store 216 to print the image 202.
- the processor 102 may generate a data set that includes the selected characteristics 212 to be stored.
- the processor 102 may concatenate the selected characteristics 212 among the plurality of characteristics 206 to generate a data set, which may include a word or multiple words.
- a word may be defined as a natural unit of data, having a fixed size in bits, which may be used by a particular processor design. For example, a word length of the word may be 32 bits.
- the processor 102 may identify four characteristics as the selected characteristics 212, for instance the characteristics 1 , 3, 5, and 6 as depicted in FIG. 4B, as being associated with a color print mechanism.
- the four characteristics associated with the color print mechanism may include an average toner coverage, a maximum toner coverage, a toner coverage ratio, a consecutive pixel count, a full classification, and/or the like.
- the processor 102 may generate the data set to include a single characteristic for the pixel window 204 per word.
- a total size of the data set in which four characteristics 1 to 4 may be included as the selected characteristics 212, may be 128KB.
- the processor 102 may include multiple characteristics for the pixel window 204 per word.
- a total size of the data set for a mono print mechanism may be 32KB.
- the processor 102 may write the data set, for instance the word or multiple words, to the data store 216 via DMA.
- the firmware 208 may access the data set of the selected characteristics 212 from the data store 216 and may optimize the operating parameters of the print mechanism 210 based on values of the selected characteristics 212.
- a total size of the data set for the selected characteristics 212 of the image 202 may be smaller than a size of data for the pixels in the pixel window 204.
- the firmware 208 may process the image based on the relatively smaller data set, rather than based on data for all of the pixels in the pixel window 204.
- the selected characteristics 212 to optimize the operating parameters of the print mechanism 210 may include a fuser temperature, a toner placement, a page rotation for printing a contone image, and/or the like.
- FIG. 5 depicts a flow diagram of an example method for selecting characteristics 212, among a plurality of characteristics 206 associated with an image 202, based on a print mechanism 210 and writing the selected characteristics 212 to a data store 216. It should be understood that the method 500 depicted in FIG. 5 may include additional operations and that some of the operations described therein may be removed and/or modified without departing from the scope of the method 500. The description of the method 500 is made with reference to the features depicted in FIGS. 1 , 2, 3, 4A, and 4B for purposes of illustration.
- the processor 102 may receive a pixel window 204 associated with a contone image, such as the image 202 depicted in FIG. 2, to be printed by a print mechanism 210.
- the processor 102 may determine, based on each pixel in the pixel window 204, a plurality of characteristics 206 associated with the contone image. In some examples, the processor 102 may simultaneously determine each of the plurality of characteristics 206 based on the pixel window 204.
- the processor 102 may select characteristics 212 associated with the print mechanism 210 among the plurality of characteristics 206 based on a user configuration 214.
- the selected characteristics 212 and the associated data set may be programmable based on the user configuration 214.
- the user configuration 214 may be associated with a particular print mechanism 210, and may identify the selected characteristics 212 that are associated with the particular print mechanism 210.
- the user configuration 214 may be changed to be compatible with a different print mechanism, in which case the new user configuration may identify a different set of characteristics associated with the new print mechanism and the processor 102 may reprogram the data set to include to the new set of characteristics.
- the processor 102 may write the selected characteristics 212 among the plurality of characteristics 206 to a data store 216.
- the selected characteristics 212 may be written to the data store 216 via DMA.
- a firmware 208 for the print mechanism 210 may access the selected characteristics 212 from the data store 216 and may cause the print mechanism 210 to print the contone image using the selected characteristics 212.
- the processor 102 may generate a data set that includes the selected characteristics 212 and may write the data set to the data store 216.
- a size of the data set may be smaller than a size of data for the pixels in the pixel window 204.
- the data set may include a word or multiple words that may include the selected characteristics 212.
- the processor 102 may concatenate the selected characteristics 212 to form the word or the multiple words that includes the selected characteristics 212.
- the processor 102 may also write the word or the multiple words to the data store 216 for access by the firmware 208 for the print mechanism 210.
- a parameter of the print mechanism 210 may be adjusted based on the selected characteristics 212 among the plurality of characteristics 206 associated with the contone image.
- a firmware 208 for a print mechanism 210 may access the data set and may adjust the parameter of the print mechanism 210 based on the selected characteristics 212 included in the data set.
- the plurality of characteristics 206 associated with the contone image may include an average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or the like.
- the operating parameters of the print mechanism 210 may be optimized based on values of the selected characteristics 212.
- the optimized operating parameters may include a fuser temperature, a toner placement, a page rotation for printing the contone image, and/or the like.
- Some or all of the operations set forth in the method 500 may be included as utilities, programs, or subprograms, in any desired computer accessible medium,
- the method 500 may be embodied by computer programs, which may exist in a variety of forms both active and inactive. For example, they may exist as computer-readable instructions, including source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer-readable storage medium.
- non-transitory computer-readable storage media include computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.
- FIG. 6 there is shown a block diagram of a non- transitory computer-readable medium 600 that may have stored thereon computer-readable instructions to process pixels of a pixel window 204 associated with an image 202 to determine a plurality of characteristics 206 of the image 202, select a characteristic or a combination of characteristics, such as the selected characteristics 212 depicted in FIG. 2, among the plurality of characteristics 206 based on a user configuration 214, and store the selected characteristic or the combination of characteristics in a data store 216.
- the computer-readable medium 600 depicted in FIG. 6 may include additional instructions and that some of the instructions described herein may be removed and/or modified without departing from the scope of the computer-readable medium 600 disclosed herein.
- the computer-readable medium 600 may be a non-transitory computer-readable medium.
- the term “non- transitory” does not encompass transitory propagating signals.
- the computer-readable medium 600 may have stored thereon computer-readable instructions 602-610 that a processor, such as the processor 102 depicted in FIGS. 1-2, may execute.
- the computer-readable medium 600 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
- the computer-readable medium 600 may be, for example, Random-Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, or the like.
- the processor may fetch, decode, and execute the instructions 602 to receive a pixel window 204 associated with an image 202 to be printed by a predetermined print mechanism 210.
- the processor may fetch, decode, and execute the instructions 604 to divide the pixel window 204 into a predetermined number of blocks of pixels 1 to 16, as depicted in FIG. 3.
- Each of the predetermined number of blocks of pixels 1 to 16 may have a predetermined number of pixels, for instance, each block may have a size of 8x8 pixels and may include 64 pixels.
- the processor may fetch, decode, and execute the instructions 606 to process each of the predetermined number of blocks of pixels 1 to 16 to determine a plurality of characteristics 206 associated with the image 202.
- the processor may fetch, decode, and execute the instructions 608 to select a characteristic or a combination of characteristics, such as the selected characteristics 212 depicted in FIG. 2, among the plurality of characteristics 206 based on a user configuration 214.
- the user configuration 214 may be associated with a predetermined print mechanism 210 and may identify the characteristic or a combination of characteristics associated with the predetermined print mechanism 210 for selection.
- the processor may fetch, decode, and execute the instructions 610 to store the selected characteristic or the combination of characteristics in a data store 216.
- the processor may generate a data set, a word, and/or a combination of words that include the selected characteristic or the combination of characteristics.
- the selected characteristic or the combination of characteristics may be accessible from the data store 216 by a firmware 208 for the predetermined print mechanism 210 to print the image 202.
- the processor may be an ASIC and may be separate from the firmware 208 for the predetermined print mechanism 210.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Control Or Security For Electrophotography (AREA)
Abstract
According to examples, an apparatus may include a processor and a memory on which are stored computer-readable instructions that, when executed by the processor, may cause the processor to receive a pixel window associated with an image to be printed and to process each pixel in the pixel window to determine a plurality of characteristics associated with the image. In some examples, the processor may select characteristics among the plurality of characteristics, in which the selected characteristics may be associated with a predetermined print mechanism. The processor may store the selected characteristics in a data store. In some examples, a firmware for the predetermined print mechanism may access the selected characteristics from the data store to print the image.
Description
DETERMINATION OF IMAGE CHARACTERISTICS
BACKGROUND
[0001] Printers, such as laser printers, may process image data associated with an image to print the image. The printers may deposit printing agent, such as toner, on print media based on the processed image data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
[0003] FIG. 1 depicts a block diagram of an example apparatus that may determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store;
[0004] FIG. 2 shows a block diagram of an example system within which the example apparatus depicted in FIG. 1 may be implemented;
[0005] FIG. 3 shows a diagram of an example pixel window associated with an image to be printed;
[0006] FIG. 4A shows a table of example characteristics associated with an image that may be determined based on pixels in a pixel window;
[0007] FIG. 4B shows a table of example characteristics that may be selected among the determined characteristics depicted in FIG. 4A;
[0008] FIG. 5 shows a flow diagram of an example method for selecting characteristics, among a plurality of characteristics associated with an image, based on a print mechanism and writing the selected characteristics to a data store; and
[0009] FIG, 6 depicts a block diagram of an example non-transitory computer-readable medium that may have stored thereon computer-readable instructions to process pixels of a pixel window associated with an image to determine a plurality of characteristics of the image, select a characteristic or a combination of characteristics among the plurality of characteristics based on a user configuration, and store the selected characteristic or the combination of characteristics in a data store.
DETAILED DESCRIPTION
[0010] For simplicity and illustrative purposes, the present disclosure is described by referring mainly to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
[0011] Throughout the present disclosure, the terms “a” and “an” are intended to denote at least one of a particular element. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
[0012] In some example printers, a print mechanism (also referred to as an engine or a print engine) may be able to modify and/or optimize operating parameters for printing an image when certain characteristics of the image to be printed are known. For instance, the print mechanism may optimize fusing control, toner placement, page rotations, and/or the like, based on the certain characteristics of the image to be printed. In some examples, the characteristics of the image used to modify and/or optimize the operating parameters of the print mechanism may include average toner coverage, toner coverage ratios, maximum toner coverage, various types of classifications, and/or the like. However, some solutions to determine the characteristics of the image may have certain deficiencies. For instance, some software/firmware based solutions for
creating output maps (also referred to herein as density maps, or image characteristics data) for an image to be printed may have reduced accuracy because a subset of the pixels is sampled rather than all of the pixels being processed. The sampling may be done because of a lack of compute power to process all pixels through the software/firmware. In some instances, hardware based solutions may be implemented, however these solutions may be for a single algorithm or a single map type, and thus may lack flexibility for different types of print mechanisms.
[0013] Disclosed herein are apparatuses, systems, methods, and computer-readable media for a hardware based solution for determining characteristics associated with an image, which may provide improved accuracy and added flexibility for image data processing. A processor may be a dedicated hardware implemented to process image data, for instance a contone image. In some examples, the processor may be an application-specific integrated circuit (ASIC) implemented to process contone pixels in a pixel window. The processor may process the pixels more efficiently than may be possible via the firmware/software. As discussed herein, the processor may provide a smaller, more manageable set of data to convey the characteristics of the image to the firmware.
[0014] The processor may determine a plurality of characteristics for the image, such as maximum toner coverage, average toner coverage, toner coverage ratio, several types of classifications, and/or the like. In some examples, the processor may generate data that may include selected characteristics among the plurality of characteristics for a particular print mechanism, which may be packed into words that may be programmable by a user to support a particular type of engine. The processor may write the data to a data store by a direct memory access (DMA) engine. A firmware for the print mechanism may retrieve the data associated with the print mechanism from the data store, and may use the retrieved data to modify and/or optimize the operating parameters of the print mechanism to print the image.
[0015] By enabling pixel processing in a hardware process for a data intensive portion of pixel processing, the firmware/software for a print mechanism
may be allowed to operate on a much smaller dataset, thereby improving efficiency/speed and reducing energy consumption by the printer. Due to the smaller dataset, the firmware/software may traverse data in multiple directions to consider late page rotations that may be selected at print time, which may improve print quality and reduce costs for printing/reprinting the image. Adding the flexibility of a programmable output map, which may include a set of customized characteristics for a particular type of print mechanism, may enable the processor to provide image characteristics for different types of print mechanisms, thereby reducing costs associated with fabricating customized hardware for different types of print mechanisms.
[0016] Reference is first made to FIGS. 1 , 2, 3, 4A, and 4B. FIG. 1 depicts a block diagram of an example apparatus that may determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store. FIG. 2 shows a block diagram of an example system within which the example apparatus depicted in FIG. 1 may be implemented. FIG. 3 shows a diagram of an example pixel window associated with an image to be printed. FIG. 4A shows a table 400 of example characteristics associated with an image that may be determined based on pixels in a pixel window. FIG. 4B shows a table 402 of example characteristics that may be selected among the determined characteristics depicted in FIG. 4A. It should be understood that the apparatus 100 depicted in FIG. 1 , the system 200 depicted in FIG. 2, the pixel window 300 depicted in FIG. 3, the determined characteristics in the table 400 depicted in FIG. 4A, and/or the selected characteristics in the table 402 depicted in FIG. 4B may include additional features and that some of the features described herein may be removed and/or modified without departing from the scopes of the apparatus 100, the system 200, the pixel window 300, and/or the characteristics included in the tables 400 and 402.
[0017] The apparatus 100 may be implemented in a printer, such as a laser printer, a photo printer, or the like. As shown, the apparatus 100 may include a processor 102 and a non-transitory computer-readable medium, e.g., a memory 110. The processor 102 may be a semiconductor-based microprocessor, a central processing unit (CPU), an application-specific integrated circuit (ASIC), a
field-programmable gate array (FPGA), and/or other hardware device. Although the apparatus 100 is depicted as having a single processor 102, it should be understood that the apparatus 100 may include additional processors and/or cores without departing from a scope of the apparatus 100 and/or system 200. In this regard, references to a single processor 102 as well as to a single memory 110 may be understood to additionally or alternatively pertain to multiple processors 102 and/or multiple memories 110.
[0018] The memory 110 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The memory 110 may be, for example, Read Only Memory (ROM), flash memory, solid state drive, Random Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, or the like. In some examples, the memory 110 may be integrated in the processor 102, which may contain or store executable instructions, for instance in an ASIC. The memory 110 may be a non-transitory computer-readable medium. The term “non-transitory” does not encompass transitory propagating signals.
[0019] As shown in FIG. 1 , the processor 102 may execute instructions 112-118 to determine a plurality of characteristics associated with an image and store selected characteristics among the plurality of characteristics in a data store. The instructions 112-118 may be computer-readable instructions, e.g., non- transitory computer-readable instructions. In other examples, the apparatus 100 may include hardware logic blocks or a combination of instructions and hardware logic blocks to implement or execute functions corresponding to the instructions 112-118.
[0020] The processor 102 may fetch, decode, and execute the instructions 112 to receive a pixel window 204 associated with an image 202 to be printed. The pixel window 204 may have a predetermined width and a predetermined depth, which may be measured in pixels. By way of particular example and for purposes of illustration, the pixel window 204 depicted in FIG. 3 may have a size that is 32 pixels wide and 32 pixels deep. In this instance, the pixel window 204
may have a total of 1024 pixels that may represent an area on the image 202 to be printed.
[0021] The image 202 may be formed of a plurality of pixel windows 204. Each of the plurality of pixel windows 204 may be positioned adjacent to another pixel window 204, and may correspond to respective areas on the image 202. In this regard, the plurality of pixel windows 204 may be positioned on the image without overlapping each other. In some examples, the processor 102 may sequentially receive each of the plurality of pixel windows 204 for separate processing, or alternatively or additionally, the processor 102 may simultaneously receive multiple pixel windows 204 for simultaneous processing. While the pixel window 204 is depicted as having a predetermined dimension, it should be understood that the size/dimension of the pixel window 204 may be different than the values described herein and may be based on, for instance, the implementation of the processor 102, memory 110, and/or the like.
[0022] The processor 102 may fetch, decode, and execute the instructions 114 to process each pixel in the pixel window 204 to determine a plurality of characteristics 206 associated with the image 202. In some examples, the processor 102 may be implemented as a hardware block that may be dedicated to handle the relatively data intensive portion of image processing. For instance, the processor 102 may be implemented in an ASIC that may be dedicated to handle processing of the pixel windows 204 to identify the characteristics 206 of the image 202. In this instance, the processor 102 may be implemented separately from a firmware 208 for a predetermined print mechanism 210, and may be dedicated to processing the pixel windows 204 to generate data that may be used by the firmware 208 for optimizing the printing process. In some examples, the firmware 208 may be implemented on a processor that is separate from the processor 102, and may be implemented on a semiconductor-based microprocessor, a CPU, an ASIC, an FPGA, and/or other hardware device.
[0023] The processor 102 may divide the pixel window 204 into a predetermined number of blocks of pixels, as depicted in FIG. 3 by numerals 1 to 16. For example, the processor 102 may divide each block of pixels 1 to 16 to
have a predetermined size and a predetermined number of pixeis. By way of particular example and for purposes of illustration, each of the blocks of pixels 1 to 16 may be 8 pixels wide by 8 pixels deep, having 64 pixels in total. In this regard, for each of the blocks of pixels 1 to 16, the processor 102 may sequentially process each row of pixels as depicted by the arrows in FIG. 3. As such, the processor 102 may process the pixel window 204 in multiple directions by processing the different blocks of pixels 1 to 16, for instance, in a horizontal direction or a vertical direction. Alternatively or additionally, the processor 102 may sequentially process each column of pixels in each of the blocks of pixels 1 to 16 in a vertical direction.
[0024] The processor 102 may process each of the predetermined number of blocks of pixels 1 to 16 to determine the plurality of characteristics 206 associated with the image 202. For instance, each pixel in the pixel window 204 may have information related to the plurality of characteristics 206 of the image 202. The processor 102 may process the information in each pixel to determine the plurality of characteristics 206 associated with the image 202.
[0025] Referring to FIG. 4A, the table 400 illustrates the plurality of characteristics 206 associated with the image 202, in which data for each characteristic may have a different size (in bits). For instance, the processor 102 may determine the plurality of characteristics 206 from the pixel window 204, which may include a first characteristic 1 to an Nth characteristic N. In some examples, the data representing each of the characteristics 1 to N may have a respective predetermined size.
[0026] By way of particular example and for purposes of illustration, the plurality of characteristics 206 may include the average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or the like, and data for each of these characteristics may have a respective predetermined size. For instance, the average toner coverage may be a sum of toner values in all 1024 pixeis in the pixel window 204 divided by 1024, and the data size for the average toner coverage may be 8 bits. In some examples, the toner coverage
ratio may be a sum of all non-zero pixels of the 1024 possible pixels in the pixel window 204, and the data size for the toner coverage ratio may be 6 bits. The maximum toner coverage (also referred to herein as max ink) may be a toner value of a single pixel among all pixels in the pixel window 204 that is the highest value, and the data size for the maximum toner coverage may be 4 bits. The consecutive pixel count may be a count of consecutive pixels that have data, for instance, a greatest number of consecutive pixels found in the pixel window 204 or a total count of consecutive pixel counts that meet a minimum threshold count. For instance, in case the threshold count is set to 4, the total count may be incremented when there are 4 consecutive pixels within a specified tolerance. Consecutive pixels may be in either the vertical or the horizontal direction.
[0027] For the vertical classification, the horizontal classification, and the full classification, the processor 102 may store data for an entire pixel window 204, for instance a 32x32 pixel window, and the data size for each classification may be 6 bits.
[0028] In some examples, for the vertical classification, the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data. For the blocks of pixels 1 to 16, the processor 102 may reset at a top (or bottom) of each column of blocks of pixels, count a change down (or up), add all column changes together, and divide by 16 for a result of 64 possible levels for the vertical classification.
[0029] For the horizontal classification, the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data. For the blocks of pixels 1 to 16, the processor 102 may reset at a left (or right) of each column of blocks of pixels, count a change across (left or right), add all row changes together, and divide by 16 for a result of 64 possible levels for the horizontal classification.
[0030] For the full classification, the processor 102 may binarize each pixel with either a zero or a non-zero based on whether the pixel has data. The processor 102 may calculate a value for the full classification based on a sum of the vertical classification and the horizontal classification, and dividing the sum
by 2.
[0031] It should be understood that, while specific types of characteristics have been described herein, the plurality of characteristics 206 may include additional characteristics associated with the image 202 or some of the characteristics may be removed. Furthermore, while specific values are provided herein for the data size and the type of data that is captured for the plurality of characteristics 206, it should be understood that the plurality of characteristics 206 are not so limited and different data sizes and/or types of data may be captured for the plurality of characteristics 206.
[0032] The processor 102 may fetch, decode, and execute the instructions 116 to select characteristics 212 among the plurality of characteristics 206, in which the selected characteristics 212 may be associated with a predetermined print mechanism 210. In some examples, the processor 102 may access a user configuration 214 to identify the selected characteristics 212 among the plurality of characteristics 206. The user configuration 214 may be associated with the print mechanism 210 and may be used to identify the selected characteristics 212 associated with the print mechanism 210. In some examples, the user configuration 214 may be stored in the memory 110. Alternatively or additionally, the user configuration 214 may be stored in a data store 216, in a data store 218 at a server 220, with which the apparatus 100 may be in communication via a network 222, and/or the like. The data store 218 at the server 220 may be implemented to store the selected characteristics 212, the image 202, the pixel window 204, the firmware 208, the print mechanism 210, and/or the like.
[0033] The processor 102 may fetch, decode, and execute the instructions 118 to store the selected characteristics 212 in the data store 216, in which the firmware 208 for the predetermined print mechanism 210 may access the selected characteristics 212 from the data store 216 to print the image 202. In some examples, the processor 102 may generate a data set that includes the selected characteristics 212 to be stored.
[0034] In some examples, the processor 102 may concatenate the selected characteristics 212 among the plurality of characteristics 206 to generate
a data set, which may include a word or multiple words. In this regard, a word may be defined as a natural unit of data, having a fixed size in bits, which may be used by a particular processor design. For example, a word length of the word may be 32 bits. By way of particular example, the processor 102 may identify four characteristics as the selected characteristics 212, for instance the characteristics 1 , 3, 5, and 6 as depicted in FIG. 4B, as being associated with a color print mechanism. In some examples, the four characteristics associated with the color print mechanism may include an average toner coverage, a maximum toner coverage, a toner coverage ratio, a consecutive pixel count, a full classification, and/or the like.
[0035] In some examples, the processor 102 may generate the data set to include a single characteristic for the pixel window 204 per word. By way of particular example and for purposes of illustration, a total size of the data set, in which four characteristics 1 to 4 may be included as the selected characteristics 212, may be 128KB. The processor 102 may include multiple characteristics for the pixel window 204 per word. By way of particular example and for purposes of illustration, in a case in which the processor 102 combines four characteristics per word, such as characteristics 1 , 3, 5, and 6, a total size of the data set for a mono print mechanism may be 32KB. The processor 102 may write the data set, for instance the word or multiple words, to the data store 216 via DMA.
[0036] In some examples, the firmware 208 may access the data set of the selected characteristics 212 from the data store 216 and may optimize the operating parameters of the print mechanism 210 based on values of the selected characteristics 212. In this regard, a total size of the data set for the selected characteristics 212 of the image 202 may be smaller than a size of data for the pixels in the pixel window 204. As such, the firmware 208 may process the image based on the relatively smaller data set, rather than based on data for all of the pixels in the pixel window 204. In some examples, the selected characteristics 212 to optimize the operating parameters of the print mechanism 210 may include a fuser temperature, a toner placement, a page rotation for printing a contone image, and/or the like.
[0037] Various manners in which the processor 102 may operate are discussed in greater detail with respect to the method 500 depicted in FIG. 5. FIG. 5 depicts a flow diagram of an example method for selecting characteristics 212, among a plurality of characteristics 206 associated with an image 202, based on a print mechanism 210 and writing the selected characteristics 212 to a data store 216. It should be understood that the method 500 depicted in FIG. 5 may include additional operations and that some of the operations described therein may be removed and/or modified without departing from the scope of the method 500. The description of the method 500 is made with reference to the features depicted in FIGS. 1 , 2, 3, 4A, and 4B for purposes of illustration.
[0038] At block 502, the processor 102 may receive a pixel window 204 associated with a contone image, such as the image 202 depicted in FIG. 2, to be printed by a print mechanism 210. At block 504, the processor 102 may determine, based on each pixel in the pixel window 204, a plurality of characteristics 206 associated with the contone image. In some examples, the processor 102 may simultaneously determine each of the plurality of characteristics 206 based on the pixel window 204.
[0039] At block 506, the processor 102 may select characteristics 212 associated with the print mechanism 210 among the plurality of characteristics 206 based on a user configuration 214. In some examples, the selected characteristics 212 and the associated data set may be programmable based on the user configuration 214. For instance, the user configuration 214 may be associated with a particular print mechanism 210, and may identify the selected characteristics 212 that are associated with the particular print mechanism 210. In some examples, the user configuration 214 may be changed to be compatible with a different print mechanism, in which case the new user configuration may identify a different set of characteristics associated with the new print mechanism and the processor 102 may reprogram the data set to include to the new set of characteristics.
[0040] At block 508, the processor 102 may write the selected characteristics 212 among the plurality of characteristics 206 to a data store 216.
In some examples, the selected characteristics 212 may be written to the data store 216 via DMA. In some examples, a firmware 208 for the print mechanism 210 may access the selected characteristics 212 from the data store 216 and may cause the print mechanism 210 to print the contone image using the selected characteristics 212.
[0041] In some examples, the processor 102 may generate a data set that includes the selected characteristics 212 and may write the data set to the data store 216. In addition, a size of the data set may be smaller than a size of data for the pixels in the pixel window 204.
[0042] In some examples, the data set may include a word or multiple words that may include the selected characteristics 212. The processor 102 may concatenate the selected characteristics 212 to form the word or the multiple words that includes the selected characteristics 212. The processor 102 may also write the word or the multiple words to the data store 216 for access by the firmware 208 for the print mechanism 210.
[0043] In some examples, a parameter of the print mechanism 210 may be adjusted based on the selected characteristics 212 among the plurality of characteristics 206 associated with the contone image. A firmware 208 for a print mechanism 210 may access the data set and may adjust the parameter of the print mechanism 210 based on the selected characteristics 212 included in the data set.
[0044] In some examples, the plurality of characteristics 206 associated with the contone image may include an average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or the like. The operating parameters of the print mechanism 210 may be optimized based on values of the selected characteristics 212. In addition, the optimized operating parameters may include a fuser temperature, a toner placement, a page rotation for printing the contone image, and/or the like.
[0045] Some or all of the operations set forth in the method 500 may be included as utilities, programs, or subprograms, in any desired computer
accessible medium, In addition, the method 500 may be embodied by computer programs, which may exist in a variety of forms both active and inactive. For example, they may exist as computer-readable instructions, including source code, object code, executable code or other formats. Any of the above may be embodied on a non-transitory computer-readable storage medium.
[0046] Examples of non-transitory computer-readable storage media include computer system RAM, ROM, EPROM, EEPROM, and magnetic or optical disks or tapes. It is therefore to be understood that any electronic device capable of executing the above-described functions may perform those functions enumerated above.
[0047] Turning now to FIG. 6, there is shown a block diagram of a non- transitory computer-readable medium 600 that may have stored thereon computer-readable instructions to process pixels of a pixel window 204 associated with an image 202 to determine a plurality of characteristics 206 of the image 202, select a characteristic or a combination of characteristics, such as the selected characteristics 212 depicted in FIG. 2, among the plurality of characteristics 206 based on a user configuration 214, and store the selected characteristic or the combination of characteristics in a data store 216. It should be understood that the computer-readable medium 600 depicted in FIG. 6 may include additional instructions and that some of the instructions described herein may be removed and/or modified without departing from the scope of the computer-readable medium 600 disclosed herein. The computer-readable medium 600 may be a non-transitory computer-readable medium. The term “non- transitory” does not encompass transitory propagating signals.
[0048] The computer-readable medium 600 may have stored thereon computer-readable instructions 602-610 that a processor, such as the processor 102 depicted in FIGS. 1-2, may execute. The computer-readable medium 600 may be an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The computer-readable medium 600 may be, for example, Random-Access memory (RAM), an Electrically Erasable
Programmable Read-Only Memory (EEPROM), a storage device, an optical disc, or the like.
[0049] The processor may fetch, decode, and execute the instructions 602 to receive a pixel window 204 associated with an image 202 to be printed by a predetermined print mechanism 210.
[0050] The processor may fetch, decode, and execute the instructions 604 to divide the pixel window 204 into a predetermined number of blocks of pixels 1 to 16, as depicted in FIG. 3. Each of the predetermined number of blocks of pixels 1 to 16 may have a predetermined number of pixels, for instance, each block may have a size of 8x8 pixels and may include 64 pixels.
[0051] The processor may fetch, decode, and execute the instructions 606 to process each of the predetermined number of blocks of pixels 1 to 16 to determine a plurality of characteristics 206 associated with the image 202.
[0052] The processor may fetch, decode, and execute the instructions 608 to select a characteristic or a combination of characteristics, such as the selected characteristics 212 depicted in FIG. 2, among the plurality of characteristics 206 based on a user configuration 214. In some examples, the user configuration 214 may be associated with a predetermined print mechanism 210 and may identify the characteristic or a combination of characteristics associated with the predetermined print mechanism 210 for selection.
[0053] The processor may fetch, decode, and execute the instructions 610 to store the selected characteristic or the combination of characteristics in a data store 216. In some examples, the processor may generate a data set, a word, and/or a combination of words that include the selected characteristic or the combination of characteristics. The selected characteristic or the combination of characteristics may be accessible from the data store 216 by a firmware 208 for the predetermined print mechanism 210 to print the image 202. In some instances, the processor may be an ASIC and may be separate from the firmware 208 for the predetermined print mechanism 210.
[0054] Although described specifically throughout the entirety of the instant disclosure, representative examples of the present disclosure have utility over a wide range of applications, and the above discussion is not intended and should not be construed to be limiting, but is offered as an illustrative discussion of aspects of the disclosure.
[0055] What has been described and illustrated herein is an example of the disclosure along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration and are not meant as limitations. Many variations are possible within the scope of the disclosure, which is intended to be defined by the following claims - and their equivalents - in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Claims
1. An apparatus comprising: a processor; and a memory on which are stored machine-readable instructions that when executed by the processor, cause the processor to: receive a pixel window associated with an image to be printed; process each pixel in the pixel window to determine a plurality of characteristics associated with the image; select characteristics among the plurality of characteristics, the selected characteristics being associated with a predetermined print mechanism; and store the selected characteristics in a data store, wherein a firmware for the predetermined print mechanism is to access the selected characteristics from the data store to print the image.
2. The apparatus of claim 1 , wherein the instructions cause the processor to: access a user configuration to identify the selected characteristics among the plurality of characteristics, the user configuration being associated with the predetermined print mechanism.
3. The apparatus of claim 1 , wherein the instructions cause the processor to: divide the pixel window into a predetermined number of blocks of pixels, each of the predetermined number of blocks of pixels having a predetermined number of pixels; process each of the predetermined number of blocks of pixels to determine the plurality of characteristics associated with the image; concatenate the selected characteristics among the plurality of characteristics to form a word; and write the word to the data store via direct memory access.
4. The apparatus of claim 1 , wherein the processor is an application specific integrated circuit (ASIC) that is separate from the firmware for the predetermined print mechanism.
5. The apparatus of claim 1 , wherein the instructions cause the processor to: generate a data set comprising the selected characteristics to be stored, wherein a size of the data set is smaller than a size of data for the pixels in the pixel window.
6. The apparatus of claim 1 , wherein the plurality of characteristics associated with the image comprise an average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or a combination thereof.
7. The apparatus of claim 1 , wherein the selected characteristics that are stored in the data store are to optimize operating parameters of the predetermined print mechanism to print the image based on values of the selected characteristics, the optimized operating parameters comprising a fuser temperature, a toner placement, a page rotation for printing the image, and/or a combination thereof.
8. A method comprising: receiving, by a processor, a pixel window associated with a contone image to be printed by a print mechanism; determining, by the processor and based on each pixel in the pixel window, a plurality of characteristics associated with the contone image; selecting, by the processor, characteristics associated with the print mechanism among the plurality of characteristics based on a user configuration; and writing, by the processor, the selected characteristics among the plurality of characteristics to a data store, the selected characteristics being written to the
data store via direct memory access (DMA), wherein a firmware for the print mechanism is to access the selected characteristics from the data store and to cause the print mechanism to print the contone image using the selected characteristics.
9. The method of claim 8, further comprising: concatenating the selected characteristics to form a word comprising the selected characteristics; and writing the word to the data store for access by the firmware for the print mechanism.
10. The method of claim 8, further comprising: generating a data set comprising the selected characteristics; and writing the data set to the data store, wherein a size of the data set is smaller than a size of data for the pixels in the pixel window.
11. The method of claim 8, wherein a parameter of the print mechanism is to be adjusted based on the selected characteristics among the plurality of characteristics associated with the contone image.
12. The method of claim 8, wherein the plurality of characteristics associated with the contone image comprises an average toner coverage, a toner coverage ratio, a maximum toner coverage, a consecutive pixel count, a vertical classification, a horizontal classification, a full classification, and/or a combination thereof.
13. The method of claim 8, wherein operating parameters of the print mechanism is to be optimized based on values of the selected characteristics, the optimized operating parameters comprising a fuser temperature, a toner placement, and/or a page rotation for printing the contone image.
14. A non-transitory computer readable medium on which is stored machine readable instructions that, when executed by a processor, cause the processor to: receive a pixel window associated with an image to be printed by a predetermined print mechanism; divide the pixel window into a predetermined number of blocks of pixels, each of the predetermined number of blocks of pixels having a predetermined number of pixels; process each of the predetermined number of blocks of pixels to determine a plurality of characteristics associated with the image; select a characteristic or a combination of characteristics among the plurality of characteristics based on a user configuration, the user configuration being associated with a predetermined print mechanism; and store the selected characteristic or the combination of characteristics in a data store, the selected characteristic or the combination of characteristics being accessible from the data store by a firmware for the predetermined print mechanism to print the image.
15. The non-transitory computer readable medium of claim 14, wherein the processor is an application specific integrated circuit (ASIC) that is separate from the firmware for the predetermined print mechanism.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2020/057549 WO2022093201A1 (en) | 2020-10-27 | 2020-10-27 | Determination of image characteristics |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2020/057549 WO2022093201A1 (en) | 2020-10-27 | 2020-10-27 | Determination of image characteristics |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022093201A1 true WO2022093201A1 (en) | 2022-05-05 |
Family
ID=81383011
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2020/057549 Ceased WO2022093201A1 (en) | 2020-10-27 | 2020-10-27 | Determination of image characteristics |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2022093201A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6219155B1 (en) * | 1995-08-07 | 2001-04-17 | T/R Systems | Color correction of contone images in a multiple print engine system |
| US20050244181A1 (en) * | 2004-04-30 | 2005-11-03 | Bobo Robert D | Method and apparatus for reducing image artifacts caused by release fluid in an electrophotographic machine |
| US20070171437A1 (en) * | 2006-01-24 | 2007-07-26 | Eastman Kodak Company | Optimizing a printing process for subsequent finishing procedure |
| US20100150582A1 (en) * | 2008-12-11 | 2010-06-17 | Xerox Corporation | Toner consumption calculation for printer with multiple interacting separations |
-
2020
- 2020-10-27 WO PCT/US2020/057549 patent/WO2022093201A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6219155B1 (en) * | 1995-08-07 | 2001-04-17 | T/R Systems | Color correction of contone images in a multiple print engine system |
| US20050244181A1 (en) * | 2004-04-30 | 2005-11-03 | Bobo Robert D | Method and apparatus for reducing image artifacts caused by release fluid in an electrophotographic machine |
| US20070171437A1 (en) * | 2006-01-24 | 2007-07-26 | Eastman Kodak Company | Optimizing a printing process for subsequent finishing procedure |
| US20100150582A1 (en) * | 2008-12-11 | 2010-06-17 | Xerox Corporation | Toner consumption calculation for printer with multiple interacting separations |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10723133B2 (en) | Ink estimation mechanism | |
| CN101365030B (en) | Image-processing apparatus, image-processing method | |
| US20150206568A1 (en) | Determining and storing bit error rate relationships in spin transfer torque magnetoresistive random-access memory (stt-mram) | |
| ES2292578T3 (en) | PRINTER CONTROLLER, PRINT CONTROL METHOD AND INFORMATION REGISTRATION SUPPORT. | |
| CN114138213B (en) | Printer control method and device, storage medium and electronic equipment | |
| US10853250B2 (en) | Storage management method, electronic device and computer program product | |
| US11995890B2 (en) | Method and apparatus for tensor processing | |
| US8498000B1 (en) | Spool control device and non-transitory computer readable medium | |
| CN111596869B (en) | Printing data typesetting method and device, printer and storage medium | |
| CN106671608B (en) | A kind of sequence number method of adjustment, device, consumable chip and imaging cartridge | |
| CN104834645A (en) | Method and device for presenting layout document | |
| WO2022093201A1 (en) | Determination of image characteristics | |
| CN111208957B (en) | Payroll printing method | |
| JP5940506B2 (en) | Halftone dot addition device, halftone dot addition program, and halftone dot addition method | |
| EP3076282A1 (en) | Method and device for writing data in storage medium | |
| US20060279749A1 (en) | Super resolution encoding | |
| CN104924772A (en) | Method, device, and pusher for printing data elements for pathological examination onto glass slides | |
| KR20070110103A (en) | Print medium feature encoding and decoding | |
| US10409533B2 (en) | Image forming apparatus with an improved memory management system | |
| JP6927109B2 (en) | Image forming device | |
| CN107678635A (en) | The webpage representation method and apparatus of electronic equipment | |
| US9159008B1 (en) | Method and apparatus for estimating usage of print substance in a printer | |
| US6950201B2 (en) | Generating images quickly in raster image processing | |
| CN112507674A (en) | Electronic form content selection method and device | |
| US20200057587A1 (en) | Print in a user defined print area of a print media |
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: 20960118 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20960118 Country of ref document: EP Kind code of ref document: A1 |